Перенаправление сервера Apache

Я пытаюсь перенаправить мой веб-сайт с www на без www.

Я нашел статью с этим кодом для конфигурационного файла Apache моего сайта.

RewriteEngine On
RewriteCond %{HTTP_HOST} ^www.yourdomain.com [NC]
RewriteRule ^(.*)$ https://yourdomain.com/$1 [L,R=301]

Проблема в том, что он будет перенаправлен и в конечном итоге будет https://вашдомен.com// или https://вашдомен.com//page.php (2 косые черты).

Когда я удаляю / перед $1, он перенаправляется на https://вашдомен.compage.php, что тоже нехорошо.

Любая помощь приветствуется. Другие методы этого также приветствуются.

Как установить LAMP Stack 1/2 на Azure Linux VM
Как установить LAMP Stack 1/2 на Azure Linux VM
В дополнение к нашему предыдущему сообщению о намерении Azure прекратить поддержку Azure Database для MySQL в качестве единого сервера после 16...
0
0
18
1

Ответы 1

Двойная косая черта, которую получает ваш путь перенаправления, потому что ваше регулярное выражение (.*) захватывает ведущую косую черту из вашего пути URL, а ваше $1 добавляет ее к цели https://yourdomain.com/$1 .

Чтобы исправить это, вы можете либо сделать завершающую косую черту необязательной в своем регулярном выражении (изменив шаблон на ^/?(.*)$), либо удалить завершающую косую черту перед $1, т.е. https://yourdomain.com$1 .

Обязательно очистите кеш браузера, прежде чем вносить это изменение.

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