RewriteRule редирект - PullRequest
       8

RewriteRule редирект

1 голос
/ 01 декабря 2008

Хорошо, у меня есть этот RewriteRule, который должен перенаправить любой запрос для файла base.css в {папку файла .htacces} /include/style/base.css, но он просто перенаправляет в бесконечном цикле, подумал я параметр L гарантирует, что этого не произойдет.

RewriteRule (.*)/base.css$ include/style/base.css [L,NC,R=301]

Также он перенаправляет на http://localhost/C:/somemaps/include/style/base.css, что на самом деле тоже не должно.

Может кто-нибудь сказать мне, как это исправить?
Также я хотел бы иметь RewriteRule, чтобы он перенаправлял любой файл .css в {папку файла .htacces} /include/style/file.css
Кстати, файл .htacces находится в корне сайта (который не является корнем сервера!)

Ответы [ 3 ]

2 голосов
/ 01 декабря 2008

Также я хотел бы иметь RewriteRule, чтобы он перенаправлял любой файл .css в {папку файла .htacces} /include/style/file.css

.

Попробуйте это:

RewriteRule ([^/]+).css$ /include/style/$1.css [L,NC]
2 голосов
/ 01 декабря 2008

Вы перепутали Redirect и Rewrite. Перенаправление - это код состояния HTTP, который указывает браузеру перейти на другой URL. Вы на самом деле просто хотите переписать местоположение в другое место файла. Попробуйте

RewriteRule (.*)/(.*).css$ /include/style/$2.css [L,NC]

Если это не работает, попробуйте добавить следующее сразу после RewriteEngine On

RewriteBase /my-virtual-folder-path-where-htaccess-is-stored
1 голос
/ 01 декабря 2008

Этот R = 301 делает новый запрос. Для этого он снова оценивает RewriteRule.

Попробуйте исключить этот путь / каталог с условием перезаписи (RewriteCond).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...