Условие перезаписи Apache не выполняется только после первого каталогаApache

Ответить
Anonymous
 Условие перезаписи Apache не выполняется только после первого каталога

Сообщение Anonymous »

У меня возникла проблема: я не могу включить в условие перезаписи несколько каталогов, вместо этого условие перестает работать после первого уровня. В противном случае приведенный ниже код работает отлично. Например:
Это работает: https://example.com/content/go/first-level/
(перенаправляет на https://example.com/content/ go/first-level.html)
Это не https://example.com/content/go/first-level/ Second-level/
(обеспечивает 404 и остается https://example.com/content/go/first-level/ Second-level/)
Примечание: на нашем сайте используются расширения .html, поэтому цель приведенного ниже кода – на 302 перенаправить конечные и не конечные URL-адреса с косой чертой на страницы .html и на 404 любые конечные и не конечные запросы.
# Handle requests to trailing slash if directory exists, add .html
# Only works for first level
RewriteCond %{REQUEST_URI} /content/go/.*
RewriteCond %{REQUEST_URI} /$
RewriteCond %{REQUEST_URI} !.*.json$
RewriteCond %{REQUEST_URI} !.*.sjson$
RewriteCond %{DOCUMENT_ROOT}/%{REQUEST_URI} -d
RewriteRule ^(.*)/$ $1.html [L,R=302]

# Handle requests to trailing slash if directory does not exist, 404
RewriteCond %{REQUEST_URI} /content/go/.*
RewriteCond %{REQUEST_URI} /$
RewriteCond %{REQUEST_URI} !.*.json$
RewriteCond %{REQUEST_URI} !.*.sjson$
RewriteCond %{DOCUMENT_ROOT}/%{REQUEST_URI} !-d
RewriteRule ^(.*?)$ $1 [L,R=404]

# Handle non trailing slash if page exists, add .html
# Working
RewriteCond %{REQUEST_URI} /content/go/.*
RewriteCond %{REQUEST_URI} !.*.json$
RewriteCond %{REQUEST_URI} !.*.sjson$
RewriteCond %{DOCUMENT_ROOT}%{REQUEST_URI}\.html -f
RewriteRule ^(.*) $1.html [L,R=302]


Подробнее здесь: https://stackoverflow.com/questions/790 ... -directory
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Apache»