SEO дружественный URL-адрес с использованием.htaccess CSS-файл не загружается

У меня есть URL, который выглядит как

https://sparkle.000webhostapp.com/movie.php?id=16

я хочу изменить это как

https://sparkle.000webhostapp.com/movie/16

я создал.htaccess файл как

   Options -MultiViews
RewriteEngine On

# redirect "/movie.php?id=xxx" to "/movie/xxx"
RewriteCond %{THE_REQUEST} \s/movie\.php\?id=([0-9]+)\s [NC]
RewriteRule ^ /movie/%1? [R=301,L]

# internally rewrite "/movie/xxx" to "/movie.php?id=xxx"
RewriteRule ^movie/([0-9]+)$ /movie.php?id=$1 [L]

но проблема в файле стиля, т.е. файл CSS не загружен. в ссылке не определены стили

1 ответ

Решение

Если на ваш CSS ссылаются так: <link rel="stylesheet" href="homepage.css" />, это будет относительно пути запроса!

Первоначально запросы к /movie.php?id=123 будет отображать страницу, чья CSS должна быть /homepage.css,

Но когда вы создаете это переписывание, запрос понимается как /movie/123 и предполагается, что CSS /movie/homepage.css,

Чтобы обойти эту проблему, начните ссылку на ваш CSS с /, так что это всегда со ссылкой на веб-корень.

Обновленный <link> тег должен быть <link rel="stylesheet" href="/homepage.css" />

Вы можете подтвердить это, проверив консоль ошибок вашего браузера и посмотрев что-то вроде " GET https://sparkle.000webhostapp.com/movie/homepage.css 404 "

Другие вопросы по тегам