哪里可以在Wordpress站点中查找重定向配置

时间:2015-06-18 03:06:38

标签: wordpress .htaccess redirect

我想将我们网站(网站A)的非www网址重定向到他们的www网站,但我似乎无法做到这一点。我知道这可以通过htaccess文件来完成,我已经尝试过调整但无济于事。目前的htaccess配置是:

# Redirect to www
RewriteCond %{HTTP_HOST} ^website.com.au [NC]
RewriteRule ^(.*) http://www.website.com.au/$1 [R=301,L]

# 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]
</IfModule>

# END WordPress

我们有一个不同的Wordpress网站(网站B),可以将非www网址正确地重定向到www网址,包括使用尾随斜杠网址到无尾随斜杠网址。但是当我检查它的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]
</IfModule>

# END WordPress

## EXPIRES CACHING ##
<IfModule mod_expires.c>
ExpiresActive On
ExpiresByType image/jpg "access 1 year"
ExpiresByType image/jpeg "access 1 year"
ExpiresByType image/gif "access 1 year"
ExpiresByType image/png "access 1 year"
ExpiresByType text/css "access 1 month"
ExpiresByType text/html "access 1 month"
ExpiresByType application/pdf "access 1 month"
ExpiresByType text/x-javascript "access 1 month"
ExpiresByType application/x-shockwave-flash "access 1 month"
ExpiresByType image/x-icon "access 1 year"
ExpiresDefault "access 1 month"
</IfModule>
## EXPIRES CACHING ##

<IfModule mod_expires.c>
# Enable expirations
ExpiresActive On
# Default directive
ExpiresDefault "access plus 1 month"
# My favicon
ExpiresByType image/x-icon "access plus 1 year"
# Images
ExpiresByType image/gif "access plus 1 month"
ExpiresByType image/png "access plus 1 month"
ExpiresByType image/jpg "access plus 1 month"
ExpiresByType image/jpeg "access plus 1 month"
# CSS
ExpiresByType text/css "access 1 month"
# Javascript
ExpiresByType application/javascript "access plus 1 year"
</IfModule>

我有一种感觉,在这种情况下,重定向可能已在其他地方配置,我可能错误地看着htaccess文件。我能纠正吗?我还应该在哪儿看?我们有一个处理重定向的插件(对于站点A),但它没有任何配置非www重定向到www,或者with-trailing-slash重定向到without-trailing-slash。所以我不认为它是插件。

非常感谢任何反馈。

1 个答案:

答案 0 :(得分:0)

对于网站A,您需要在.htaccess文件中编写任何规则之前制作RewriteEngine on,以便您的文件如下所示:

<IfModule mod_rewrite.c>
RewriteEngine On

# Redirect to www
RewriteCond %{HTTP_HOST} ^website.com.au [NC]
RewriteRule ^(.*) http://www.website.com.au/$1 [R=301,L]

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

# END WordPress

现在对于站点B的情况,WordPress具有内置功能,如果您在域中安装了带有www的WordPress,那么它将重定向在URL中没有www访问的所有页面。

如果要覆盖已存储在数据库中的内容,则可以在wp-config.php文件中使用以下常量

define('WP_HOME', 'http://www.yourdomain.com');
define('WP_SITEURL', 'http://www.yourdomain.com');