Я хотел бы преобразовать URL как этот http://www.mydomain.com/it/archive.php=321123 в одном, как следующее http://www.mydomain.com/it/R/321123 В книге я нашел кое-что полезное с несколькими практики я получаю следующеессылка при переписывания URL
RewriteEngine On
RewriteRule ^R/(.*) archive.php?$1 [PT]
которые работают правильно. Проблема заключается в том, что любая ссылка внутри кода как
<link rel="stylesheet" type="text/css" href="css/layout.css" />
является trasnformed в
<link rel="stylesheet" type="text/css" href="www.mydomain.com/it/R/css/layout.css" />
Папка R does't существует в реальности, поэтому он не содержит файл CSS, все css-файлы хранятся в папке http://www.mydoman.com/it/css. Утилита для разработчиков Chrome дает мне следующее: Resouce интерпретируется как таблица стилей, но передается с текстом типа MIME/html: «http://www.mydomain.com/it/R/css/style.css».
Возможно изменение адреса, но в то же время ссылки на исходную страницу внутри страницы. Я мог бы написать
<link rel="stylesheet" type="text/css" href="http://www.mydomain.com/it/css/layout.css" />
но это не должно работать, когда я работаю в автономном режиме с EasyPHP.
PS: Я хотел бы поместить файл .htaccess в папку http://www.mydomain.com/it, чтобы он затронул только часть языка.
Спасибо!
Дополнительное правило не делает никаких изменений, но отлично работает! Проблема в том, что страница не получает переменную. Открыть http://www.mydomain.com/it/R/321123 походит на open http://www.mydomain.com/it/archive.php без переменной. –
Nicolaesse
На самом деле, я просто понял, что ваши правила, вероятно, были основаны в/it /, попробуйте отредактировать RewriteRule, в том же месте, где указано ваше правило archive.php. –
ОК, я исправил его. Проблема заключалась в том, что я не написал имя переменной (ID). Правильный код RewriteEngine On RewriteRule^R /(.*) archive.php? ID = $ 1 [PT] – Nicolaesse