当URL包含使用.htaccess的路径时强制WWW

时间:2015-06-15 19:05:52

标签: .htaccess session url redirect

我的网址和会话有问题。 我希望所有网站页面都被强制使用www。现在看来,网站看起来像这样:

www.example.com 进入 www.example.com

example.com 进入 www.example.com

www.example.com/example/ 进入 www.example.com/example/

example.com/example 进入 example.com/example(这是错的)

这是我的.htaccess文件的样子:

# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
RewriteCond %{HTTP_HOST} ^wewent\.net
RewriteRule ^(.*)$ http://www.wewent.net/$1 [L,R=301,NC]
</IfModule>
# END WordPress

由于网址没有正确重定向,因此www的会话次数增加一倍,而网站则不会增加一次。我怎样才能最好地预防这种情况?

1 个答案:

答案 0 :(得分:2)

看起来似乎没问题,但你应该做的一件事就是把你的其他规则放在wordpress规则之前作为一种习惯。当使用wordpress时,它通常应该是最后一组规则,因为它执行所有路由。现在对于重定向,您应该使用302临时删除任何当前缓存并验证您的重定向是否正常工作。然后,一旦正常工作,您可以将其更改为301。

# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteCond %{HTTP_HOST} !^www\.wewent\.net [NC]
RewriteRule ^(.*)$ http://www.wewent.net/$1 [L,R=302,NC]

RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>
# END WordPress