Seo Friendly Url css img js не работает

Я хочу, чтобы мой URL был URL-адресом SEO. Я пробовал редактировать файл .htaccess с помощью правила перезаписи

RewriteRule ^swift-details/([0-9]+)/([0-9a-zA-Z_-]+)$ swift-details.php?id=$1 [NC,L]
RewriteRule ^swift-details/(css|js|img)/(.*)?$ /$1/$2 [L,QSA,R=301]

Он маршрутизирует правильный URL, но на этой странице CSS JS и изображения не работают.

Пример URL:

http://www.bankhints.com/swift-details/2/abblinbb

Ответ 1

Вам не нужно второе правило перезаписи. Ваши пути CSS/JS являются "относительными" для вашего текущего местоположения.

Ваш CSS существует здесь: /css/normalize.css

Ваша страница просматривает здесь: /swift -details/2/abblinbb/css/normalize.css

Все, что вам нужно, это "передние косые черты" перед вашими дорожками CSS/JS.

Ответ 2

Это связано с тем, что ваши относительные URI изменили базу. Первоначально база /, когда страница /swift-details.php?id=foo, и браузер правильно заполняет относительные ссылки с базой /. Но когда браузер переходит на страницу типа /swift/details/foo, база внезапно становится /swift/, и она пытается добавить это перед всеми относительными URL-адресами и, следовательно, ни один из них не загружается.

Вы можете либо сделать свои ссылки абсолютными, либо изменить базу URI в заголовке ваших страниц (между тегами <head> </head>):

<base href="/">