Удаление завершающего sla sh из одного указанного c каталога - PullRequest
1 голос
/ 26 мая 2020

Я пытаюсь удалить завершающий sla sh из всех URL-адресов в одном каталоге c (/ blog).

Например:

http://www.example.com/blog/cowboy/ должно быть 301 отнесено к http://www.example.com/blog/cowboy http://www.example.com/tips/cowboy/ должно остаться прежним и НЕ быть 301ed

В настоящее время я использую следующее RewriteRule

RewriteRule ^blog/?$ index.php?m=pages&p=group&id=blogs_page [L]
RewriteRule ^blog/([0-9]+)/?$ index.php?m=pages&p=group&id=blogs_page&page=$1 [L]
RewriteRule ^blog/([0-9A-Za-z_\-]+)/?$ index.php?m=pages&p=$1 [L]

Можно ли изменить этот reweriterule так, чтобы он удалял завершающий sla sh?

1 Ответ

2 голосов
/ 26 мая 2020

У вас может быть правило 301 перед существующими правилами:

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(blog/.+)/$ /$1 [L,NE,R=301]

RewriteRule ^blog/?$ index.php?m=pages&p=group&id=blogs_page [L,QSA,NC]

RewriteRule ^blog/(\d+)/?$ index.php?m=pages&p=group&id=blogs_page&page=$1 [L,QSA,NC]

RewriteRule ^blog/([\w-]+)/?$ index.php?m=pages&p=$1 [L,QSA,NC]
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...