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
"