множественное изменение домена в один домен - PullRequest
0 голосов
/ 27 июня 2018

Я пытался написать код для постоянного перенаправления нескольких вариантов Например,

http://www.example.com
http://example.com

http://www.example.com/index.php

http://example.com/index.php
* От 1003 * до https://example.com.

У меня есть несколько строк кода

 RewriteEngine On 
RewriteCond %{SERVER_PORT} 80 
RewriteEngine On
RewriteCond %{HTTP_HOST} ^example\.com$
RewriteRule ^(.*)$ https://example.com/$1 [R,L]
RewriteEngine On
RewriteCond %{HTTP_HOST} ^www.example\.com$
RewriteRule ^(.*)$ https://example.com/$1 [R,L]
RewriteEngine On
RewriteCond %{HTTP_HOST} ^www.example.com/index.php$
RewriteRule ^(.*)$ https://example.com/$1 [R,L]

Это нормально работает для меня, но могут ли все эти строки кода быть написаны в одну или две строки ??

1 Ответ

0 голосов
/ 27 июня 2018

Я думаю, что вы должны иметь только RewriteCond %{HTTP_HOST} .*example.com$, без каких-либо ^.

Это должно охватывать как вашу первую, так и вторую строки HTTP_HOST.

Третья строка HTTP_HOST, с которой у вас есть /index.php, плохая, так как /index.php никогда не является частью HTTP_HOST.

Также не повторяйте RewriteEngine On и не нужно устанавливать условие для порта 80. (Если у вас есть HTTPS на порту 443, вы все еще хотите это перенаправление, верно?)

Итак, в конце концов:

RewriteEngine On 
RewriteCond %{HTTP_HOST} .*example\.com$
RewriteRule ^(.*)$ https://example.com/$1 [R,L]
...