将Wordpress子文件夹重定向到子域

时间:2014-07-15 14:29:16

标签: regex wordpress apache .htaccess redirect

我的网站实际上是使用子域名的多站点,我想将子文件夹翻译重新映射到子域名。

domain.com (main site)
blog.domain.com (mu site for the blog)

使用WPML,我有:

domain.com/fr/ (for the French translation)
blog.domain.com/fr/ (for the French translation)

我想要以下内容:

domain.com/fr/ --> fr.domain.com
blog.domain.com/fr/ --> blogue.domain.com

我认为这可以通过重写规则来实现,但我无法使其正常工作。

这是当前默认的Wordpress MU .htaccess:

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

RewriteRule ^wp-admin$ wp-admin/ [R=301,L]

RewriteCond %{REQUEST_FILENAME} -f [OR]
RewriteCond %{REQUEST_FILENAME} -d
RewriteRule ^ - [L]
RewriteRule ^(wp-(content|admin|includes).*) $1 [L]
RewriteRule ^(.*\.php)$ $1 [L]
RewriteRule . index.php [L]

非常感谢你的帮助!

2 个答案:

答案 0 :(得分:1)

保持你的.htaccess像这样:

RewriteEngine On
RewriteBase /

RewriteCond %{HTTP_HOST} ^domain\.com$ [NC]
RewriteRule ^fr/(.*)$ http://fr.domain.com/$1 [NC,R=302,L]

RewriteCond %{HTTP_HOST} ^blog\.domain\.com$ [NC]
RewriteRule ^fr/(.*)$ http://blogue.domain.com/$1 [NC,R=302,L]

RewriteRule ^index\.php$ - [L]

RewriteRule ^wp-admin$ wp-admin/ [R=301,L]

RewriteCond %{REQUEST_FILENAME} -f [OR]
RewriteCond %{REQUEST_FILENAME} -d
RewriteRule ^ - [L]

RewriteRule ^(wp-(content|admin|includes).*) $1 [L]

RewriteRule ^(.+?\.php)$ $1 [L]

RewriteRule . index.php [L]

答案 1 :(得分:0)

您可以添加.htaccess:

RewriteCond %{HTTP_HOST} ^domain\.com
RewriteRule ^/fr/ http://fr.domain.com/fr/ [R,L]

RewriteCond %{HTTP_HOST} ^blog\.domain\.com
RewriteRule ^/fr/ http://blogue.domain.com/fr/ [R,L]