Удаление завершающей косой черты в URL не работает в подкаталоге
Следующее правило работает для удаления последней косой черты для всех страниц в моем веб-Корне:
RewriteRule ^(.+)/$ /$1 [L,R=301]
Однако он не работает, когда помещается в подпапку. Я также пытался:
RewriteRule (.*)/$ /$1 [L,R=301]
Безрезультатно. Что происходит, это перенаправляет
Http://example.com/testfolder/testpage/
К
Что я упускаю? Заранее спасибо!
3 ответа:
Вы пробовали опустить ведущую косую черту из вашей замены?
Это просто бросок камня от того, что у вас есть. Контекст перезаписи каталога (находящийся "в" / testfolder) может быть основной причиной проблемы.RewriteRule ^(.+)/$ $1 [L,R=301]
Вы можете определить это в переменных, а также убедитесь, что в вашем php включены моды перезаписи.ini, если нет другого способа сделать то, что вам нужно.
Исправление косой черты в конце выполняется
mod_dir
. Перезаписи в контексте каждого каталога повторно вводятся в цепочку обработки URL-адресов и снова подлежат исправлению.Поведение настраивается. Например,
<Directory /path/to/wherever> DirectorySlash Off ... </Directory>
Контекст для этого не только
Directory
: это конфигурация сервера, виртуальный хост, каталог,.htaccess.