Apache2 переписать URL в .htaccess - PullRequest
0 голосов
/ 19 апреля 2011

Я хотел переписать любой запрос с www.example.org, https://www.example.org и http://example.org до https://example.org

Есть ли простой способ сделать это?

В настоящее время я делаю следующее в моем .htaccess, однако случай https://www.example.org -> https://example.org не работает.

  1. Есть идеи, где я могу ошибаться?
  2. Также это повлияет на рейтинг в поисковых системах из-за этого перенаправления.
  3. Это лучший способ перенаправления URL-адресов.

Мой текущий .htaccess выглядит следующим образом.

<IfModule mod_rewrite.c>
RewriteEngine on
RewriteCond %{HTTP_HOST} example\.org
RewriteCond %{HTTPS} !on
RewriteRule (.*) https://example.com%{REQUEST_URI}
</IfModule>

Спасибо

1 Ответ

0 голосов
/ 19 апреля 2011

Попробуйте это в своем файле .htaccess:

Options +FollowSymLinks
RewriteEngine on

# redirect for http
RewriteCond %{HTTP_HOST} ^(www\.)?example\.org$ [NC]  
RewriteCond %{SERVER_PORT} =80
RewriteRule ^/?(.*)$ https://example.org/$1 [R=301,QSA,L,NE]

# redirect for https
RewriteCond %{HTTP_HOST} ^www\.example\.org$ [NC]  
RewriteCond %{SERVER_PORT} =443
RewriteRule ^/?(.*)$ https://example.org/$1 [R=301,QSA,L,NE]

R=301 будет перенаправлять со статусом https 301
L сделает последнее правило
NE для не экранирующего запросастрока
QSA добавит существующие параметры запроса

$1 - это ваш REQUEST_URI

...