将HTTPS重定向到HTTP,将非WWW重定向到WWW

时间:2013-08-30 10:05:58

标签: apache .htaccess seo

我的重定向有问题,我猜测它是因为我一直在复制和粘贴我的htaccess规则。

我需要将所有https流量重定向到http,将所有非www流量重定向到www。我还有一些规则来制作漂亮的链接

RewriteEngine On

RewriteCond %{HTTPS} on
RewriteRule (.*) http://%{HTTP_HOST}%{REQUEST_URI}

RewriteRule (.*\.php)\.$ /$1 [R=301,L]

RewriteRule ^people/([^/]*)/([^/]*)/([^/]*)$ /profile.php?county=$1&name=$2&id=$3 [L]
RewriteRule ^people-in-(.*) /people.php?county=$1 [L]

RewriteCond %{HTTP_HOST} ^ties\.co.uk$
RewriteRule (.*) http://www.ties.co.uk/$1 [R=301,L]
RewriteCond %{REQUEST_URI} ^/index.php$
RewriteRule (.*) / [R=301,L]

DirectoryIndex index.php

<IfModule mod_rewrite.c>
RewriteBase /blog/
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /blog/index.php [L]
</IfModule>

ErrorDocument 404 /notfound.php 

1 个答案:

答案 0 :(得分:2)

你可以结合使用:

RewriteCond %{HTTPS} on
RewriteRule (.*) http://%{HTTP_HOST}%{REQUEST_URI}

RewriteCond %{HTTP_HOST} ^ties\.co.uk$
RewriteRule (.*) http://www.ties.co.uk/$1 [R=301,L]

到需要正下方RewriteEngine On 的单个规则中:

RewriteCond %{HTTPS} on [OR]
RewriteCond %{HTTP_HOST} ^ties\.co\.uk$ [NC]
RewriteRUle ^(.*)$ http://www.ties.co.uk/$1 [R=301,L]
相关问题