Я хочу, чтобы мой 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
Вам не нужно второе правило перезаписи. Ваши дорожки CSS / JS являются «относительными» для вашего текущего местоположения.
Ваш CSS существует здесь: /css/normalize.css
Ваша страница просматривает здесь: /swift-details/2/abblinbb/css/normalize.css
Все, что вам нужно, это «передние косые черты» перед вашими дорожками CSS / JS.
Это связано с тем, что ваши относительные URI изменили базу. Первоначально в базе находится /
когда страница /swift-details.php?id=foo
, и браузер правильно заполняет относительные ссылки с /
base. Но когда браузер переходит на страницу типа /swift/details/foo
база внезапно становится /swift/
и она пытается добавить это перед всеми относительными URL-адресами и, следовательно, ни одна из них не загружается.
Вы можете либо сделать свои ссылки абсолютными, либо изменить базу URI в заголовке ваших страниц (между тегами <head> </head>
):
<base href="/">