Назад | Перейти на главную страницу

mod_rewrite перезапись в локальный каталог

В .htaccess у нас есть в нашем document_root каталог выглядит следующим образом:

RewriteEngine on

RewriteRule ^posts/1/first-post-title$ /posts/1.html [L]
RewriteCond %{REQUEST_URI} ^/posts/1
RewriteCond %{REQUEST_URI} !/^posts/1/first-post-title$
RewriteRule (.*) posts/1/first-post-title [R=301,L]

Конфигурация разработана таким образом, что все следующие URL будут указывать на "http: // localhost / posts / 1 / заголовок первой записи":

Вторая строка работает нормально и "http: // localhost / posts / 1 / заголовок первой записи"смотрит на /posts/1.html

К сожалению, когда используется любой другой URL-адрес, пользователь перенаправляется на "http: // localhost / путь / к / каталог-документа / сообщения / 1 / заголовок первой записи"

Измените свою перезапись на абсолютный, например а не это:

 RewriteRule (.*)  posts/...

Использовать это:

 RewriteRule (.*)   /posts/...