如何在不移动到主页的情况下重定向www?

时间:2016-02-02 18:46:25

标签: php .htaccess redirect

我使用此代码重定向域名和ip:

RewriteEngine On

rewritecond %{http_host} ^www.lucrebem.com.br [nc]
rewriterule ^(.*)$ http://lucrebem.com.br/$1 [r=301,nc]
RewriteRule ^(.*)['"$] /$1 [R=301,L]

RewriteCond %{HTTP_HOST} ^216\.245\.194\.194
RewriteRule (.*) http://lucrebem.com.br/$1 [R=301,L]

它的作用是从网址中删除www,但问题是,如果用户点击www.mysite.com/thecategory/thearticle,他将无法重定向到mysite.com/thecategory/thearticle,他将被重定向到{ {1}}

这不是我想要实现的目标,我相信这会影响我的排名。

5 个答案:

答案 0 :(得分:2)

是的,如果这对您的排名不利。 我这样做如下。

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

看起来你也试过了。 也许你可以删除第2行中的ne [nc] breakets 另一个可能的原因可能是您获得了重定向条件。 但通常这应该工作正常。

巨星, Traxstar

答案 1 :(得分:2)

在这里你去了好友,这应该删除www并将其重定向到域名+ slugs:

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

答案 2 :(得分:2)

我会这样做,你可以将规则组合成一个而不是单独的规则。

$applyAsync

答案 3 :(得分:1)

<VirtualHost *:80>
    ServerName www.example.com
    Redirect permanent / http://example.com/
</VirtualHost>

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

答案 4 :(得分:0)

以下是我修复它的方法:

### Makes www Redirect to non-www without redirecting to index page
RewriteCond %{HTTP_HOST} ^www\.lucrebem\.com\.br
RewriteRule (.*) http://lucrebem.com.br/$1 [R=301,L]

对于想要重定向Ip的人来说,这是一个奖励:

#Redirects IP, working fine, don't change anything below
RewriteCond %{HTTP_HOST} ^216\.245\.194\.194
RewriteRule (.*) http://lucrebem.com.br/$1 [R=301,L]

:)