.htaccess永久重定向到www

时间:2010-11-11 23:40:02

标签: wordpress .htaccess redirect

我有一个wordpress instalation,不会重定向不以www。

开头的网址

示例:http://example.com/dir/不会发送到http://www.example.com/dir/而是转到http://example.com/

如何将以下.htaccess更改为始终使用www重定向到页面?

# BEGIN WordPress
RewriteEngine On

RewriteBase /
RewriteRule ^index\.php$ - [L]

# uploaded files
RewriteRule ^([_0-9a-zA-Z-]+/)?files/(.+) wp-includes/ms-files.php?file=$2 [L]

# add a trailing slash to /wp-admin
RewriteRule ^([_0-9a-zA-Z-]+/)?wp-admin$ $1wp-admin/ [R=301,L]

RewriteCond %{REQUEST_FILENAME} -f [OR]
RewriteCond %{REQUEST_FILENAME} -d
RewriteRule ^ - [L]
RewriteRule  ^([_0-9a-zA-Z-]+/)?(wp-(content|admin|includes).*) $2 [L]
RewriteRule  ^([_0-9a-zA-Z-]+/)?(.*\.php)$ $2 [L]
RewriteRule . index.php [L]

# END WordPress

4 个答案:

答案 0 :(得分:10)

您不应该修改.htaccess;实际上我不推荐它。

听起来您只需在设置>管理控制台中正确设置WordPress地址和网站地址的值即可。一般部分:

Screenshot showing WordPress' Settings > General section and the WordPress address and Site address

另一种选择是在/wp-config.php文件中但在require_once(ABSPATH . 'wp-settings.php'); 之前的某处添加以下2行(并确保不使用尾部斜杠):

define('WP_HOME',"http://www.example.com/dev");
define('WP_SITEURL',"http://www.example.com/dev");

我更喜欢这种方法,因为我喜欢尽可能在代码中保留配置选项,因为它比数据库中存储的配置选项更容易维护。

希望这有帮助。

-Mike

P.S。下次遇到WordPress问题时,请考虑在StackOverflow的姐妹网站WordPress Answers询问?很多WordPress爱好者都在帮忙。

答案 1 :(得分:5)

我从webmasters.stackexchange.com得到了正确的答案。这很完美!感谢Ruel将我指向webmasters.stackexchange。

Options +FollowSymlinks
RewriteCond %{HTTP_HOST} !^(www\.|$) [NC]
RewriteRule ^ http://www.%{HTTP_HOST}%{REQUEST_URI} [R=301,L]

答案 2 :(得分:2)

更像是http://webmasters.stackexchange.com

的问题

无论如何,如果您使用的是cPanel,您可以在Redirects类别下的Domains进行通配符重定向。

但如果没有,试试这个:

Options +FollowSymLinks
RewriteEngine on
RewriteCond %{HTTP_HOST} ^example.com[nc]
RewriteRule ^(.*)$ http://www.example.com/$1 [r=301,nc]

答案 3 :(得分:0)

完美无缺。将它放在wp-config.php文件的顶部:

define('WP_HOME',"http://www.example.com/dev");
define('WP_SITEURL',"http://www.example.com/dev");