Вопрос

Что мне нужно сделать со следующим правилом перезаписи, чтобы оно работало независимо от того, есть ли косая черта в конце URL-адреса?

то есть.http://mydomain.com/content/featuredилиhttp://mydomain.com/content/featured/

RewriteRule ^content/featured/ /content/today.html 
Это было полезно?

Решение

Использовать $ чтобы отметить конец строки и ? чтобы пометить предыдущее выражение как повторяющееся ноль или один раз:

RewriteRule ^content/featured/?$ content/today.html

Но я рекомендую вам придерживаться одной записи и исправить опечатку:

# remove trailing slashes
RewriteRule (.*)/$ $1 [L,R=301]

# add trailing slashes
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule .*[^/]$ $0/ [L,R=301]

Другие советы

простой способ сделать это:

RewriteEngine On
RewriteBase / 
RewriteRule ^content/featured(\/||)$ /content/today.html [L,R=301,NC] 
Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top