Удаление косой черты в URL не работает в подкаталоге - PullRequest
2 голосов
/ 13 марта 2012

Следующее правило работает, чтобы удалить косую черту для всех страниц в моем веб-корне:

RewriteRule ^(.+)/$ /$1 [L,R=301]

Тем не менее, он не работает при помещении в подпапку. Я также попробовал:

RewriteRule (.*)/$ /$1 [L,R=301]

безрезультатно. Что происходит, он перенаправляет

http://example.com/testfolder/testpage/

до

http://example.com/testpage

Чего мне не хватает? Заранее спасибо!

Ответы [ 3 ]

1 голос
/ 13 марта 2012

Вы пытались исключить начальный слеш из своей замены?

RewriteRule ^(.+)/$ $1 [L,R=301]

Это всего в двух шагах от того, что у вас есть.Контекст перезаписи каталога (находящийся «в» / testfolder) может быть основной причиной проблемы.

0 голосов
/ 14 марта 2012

Исправление косой черты выполняется mod_dir.Перезаписи в контексте каждого каталога повторно внедряются в цепочку обработки URL-адресов и снова подвергаются исправлению.

Поведение настраивается.Например,

<Directory /path/to/wherever>
DirectorySlash Off
...
</Directory>

Контекст для этого не только Directory: это конфигурация сервера, виртуальный хост, каталог, .htaccess.

0 голосов
/ 13 марта 2012

вы можете определить это в переменных, также убедитесь, что моды перезаписи включены в вашем php.ini, если нет другого способа сделать то, что вам нужно.

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