Apache2 Redirect Trailing Slash Не работает

Я попытался прочитать различную документацию, а также другие ответы в Интернете, и я не могу найти решение своей проблемы.

Вот моя проблема:

У меня есть постоянная настройка перенаправления с www на без www. т o направлять трафик с www.example.com на example.com

. Это работает, но у меня возникают проблемы при попытке посетить определенные URL-адреса. Например:

У нас есть три PDF-файла, которые мы хотели бы, чтобы люди могли загрузить через:

example.com/paper/somepdfname.pdf

Когда я перехожу по URL-адресу, как этот, он работает, но если я попробуйте посетить что-нибудь вроде этого:

www.example.com/paper/somepdfname.pdf

Браузер перенаправляется и удаляет одну из косых черт, что приводит к ошибке «сайт недоступен». Это URL-адрес, который я получаю в браузере:

example.compaper / somepdfname.pdf

Я думаю, довольно ясно, что мне нужно каким-то образом убедиться, что перед бумагой стоит косая черта, но я не умею это делать. Ниже вы найдете мою директиву .htaccess для обработки перенаправления:

RewriteEngine On
RewriteBase /
RewriteCond %{HTTP_HOST} ^www\.(.*)$ [NC]
RewriteRule ^(.*)$ http://%1/$1/ [R=301,L]
1
задан 16 January 2018 в 18:58
1 ответ

Использование mod_rewrite кажется вам переборщиком. Я рекомендую использовать mod_alias и его директиву Redirect .

NameVirtualHost 111.22.33.44:80
<VirtualHost 111.22.33.44:80>
    ServerName www.example.com
    Redirect permanent / http://example.com
</VirtualHost>
0
ответ дан 4 December 2019 в 04:15

Теги

Похожие вопросы