.htaccess删除www。和重定向

时间:2011-11-27 16:58:40

标签: .htaccess mod-rewrite redirect

我一直在尝试将旧网站的旧网页重定向到具有永久重定向的相应新网页。 以及将www.example.com重定向到example.com

我似乎无法同时做到这两件事

目前重定向适用于从前www.example.com/correctlinkexample.com/correctlink的正确链接 但只有example.com/Info.aspx被重定向到example.com/about-magento-demo-store而非www.example.com/Info.aspx

*更新

我想删除www。并将40-50特定地址重定向到新的特定地址。我的问题是重定向仅在谷歌保存没有Www的旧链接时才有效。如果谷歌存储了包括www的链接。然后我的重定向重定向永久example.com/tabid/61/CategoryID/13/ProductID/64/Default.aspx /index.php/solpaneler/re不起作用 - *更新

我的htaccess看起来有点像这样 (在我开始编辑之前,最后有几行) (我也尝试过一行Redirect permanent http://www.example.com/Info.aspx http://example.com/about-magento-demo-store,但它不起作用)

RewriteEngine On
RewriteCond %{HTTP_HOST} ^example\.com
RewriteRule ^(.*)$ http://example.se/$1 [R=301,QSA,L]
Options +FollowSymLinks
RewriteEngine on
RewriteCond %{HTTP_HOST} ^www\.(.+)$ [NC]
RewriteCond %{HTTPS}s ^on(s)|
RewriteRule ^ http%2://%1%{REQUEST_URI} [L,R=301]
Redirect permanent /Info.aspx /about-magento-demo-store
RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}]
RewriteRule .* index.php [L]

1 个答案:

答案 0 :(得分:0)

我曾经有过同样的问题。这是我的rewriterules示例:

# If domain name doesn't end with .com redirect to .com:
RewriteCond %{HTTP_HOST} (.*)\.(fr|net|org|eu) [NC]
RewriteRule (.*) http://%1.com$1 [R=301,L]

# If domain name without "www", add them:
RewriteCond %{HTTP_HOST} ^mydomainname\.(fr|com|net|org|eu) [NC]
# Ca signifie forcément que c'est sans www => forcer redirection :
RewriteRule (.*) http://www.mydomainname.%1$1 [QSA,R=301,L]

注意:将此放在重写规则的顶部,因为它应该先处理,以确保您的域名始终以“www”开头

请注意,只有当它为“空”时才会重定向mydomainname,即后面没有任何内容。它不会触及http://abc.mydomainname.com等网址,也不会触及http://abc.def.mydomainname.com

等网址

告诉我它是否有效。