Принудительная косая черта, кроме как в определенной папке

#.htaccess #mod-rewrite

Вопрос:

Я заставляю завершающие косые черты на своем веб-сайте, но это вызвало проблему с нашей Вики, поскольку она рассматривает их как пустую страницу.

Хотите, чтобы я хотел сделать, это принудительно завершить косую черту, за исключением случаев, когда в /wiki/. Как бы я это сделал?

Вот мое нынешнее правило для этого:

 # force trailing slash  RewriteCond %{REQUEST_FILENAME} !-f  RewriteRule ^(.*)([^/])$ /$1$2/ [L,R=301]  

Ответ №1:

Вы можете добавить RewriteCond директиву (условие) для создания исключения для любого начинающегося URL /wiki/ -адреса .

Например:

 # force trailing slash RewriteCond %{REQUEST_URI} !^/wiki/ RewriteCond %{REQUEST_FILENAME} !-f RewriteRule ^(.*)([^/])$ /$1$2/ [L,R=301]  

! Префикс в регулярном ^/wiki/ выражении отрицает выражение, поэтому оно выполняется успешно, когда оно не совпадает.

Вам нужно будет очистить кэш вашего браузера.

Комментарии:

1. Идеально! Спасибо!