使用多个映射域重定向(htaccess和WordPress)

时间:2013-11-06 08:17:47

标签: wordpress .htaccess mod-rewrite redirect mapping

我们有一个适用于多个国家/地区的门户网站。每个国家/地区都有自己的域名(即countrydomain.com,countrydomain.de,countrydomain.it)。  所有这些国家/地区域都使用符号链接映射到我们的主域(maindomain.org)。主域包含Web门户的整个PHP代码。 .htaccess管理所有域的重定向。

到目前为止这个工作......

现在,我必须为每个国家/地区创建一个WordPress博客,该博客应该在countrydomain.com/blog,countrydomain.de / blog下可以访问。每个国家/地区都应该拥有自己的内容博客。

我的问题是,我无法为每个国家/地区创建“博客”目录,只是因为映射而在此目录中安装Wordpress。我只有我们的maindomain.org。 我试图创建名为blog_com,blog_de,blog_it的目录,并使用htaccess将它们重定向到匹配的域/博客,但到目前为止没有成功......

最佳做法是为每个国家/地区创建一个wordpress文件夹吗?我需要哪些重定向规则来管理重定向?或者是否有更好的解决方案?

以下是我们htaccess的一部分,向您展示当前的情况:

Options -Indexes
Options +FollowSymLinks

RewriteEngine on
RewriteBase /

# Enforce www
RewriteCond %{HTTP_HOST} !^www\.
RewriteRule ^ http://www.%{HTTP_HOST}%{REQUEST_URI} [QSA,R=301,L]

# Skip some directories
RewriteRule ^newsletter$ - [L]
RewriteRule ^newsletter/.*$ - [L]
RewriteRule ^cron/.*$ - [L]


# Rewrite main domain to main country domain (com)
RewriteCond %{HTTP_HOST} ^www\.maindomain\.org$ [NC]
RewriteRule ^(.*)$ http://www.countrydomain.com/$1 [QSA,R=301,L]

# Save current top level domain as environment variable
SetEnvIf Host ^www\.countrydomain\.com$ ENV_COUNTRYCODE=com
SetEnvIf Host ^www\.countrydomain\.de$ ENV_COUNTRYCODE=de
SetEnvIf Host ^www\.countrydomain\.it$ ENV_COUNTRYCODE=it

# SEO rewrite rules
RewriteRule ^/$ index.php [QSA,L]
RewriteRule ^$ index.php [QSA,L]
RewriteRule ^search$ index.php?status=19 [L]
RewriteRule ^myprofile$ index.php?status=50 [L]
RewriteRule ^myprofile/$ index.php?status=50 [L]
RewriteRule ^/?(xx)/([A-Za-z0-9ÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖØÙÚÛÜÝÞßàáâãäåæçèéêëìíîïðñòóôõöøùúûüýþÿ\%\+\_\-\/]{3,100}).html$ index.php?status=90&xxurl=$2 [L]
RewriteRule ^/?([A-Za-z0-9ÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖØÙÚÛÜÝÞßàáâãäåæçèéêëìíîïðñòóôõöøùúûüýþÿ\%\+\_\/\-]{3,300})/([0-9]+)(b|bw)$ index.php?status=25&id=$2&type=bw [QSA,L]
RewriteRule ^([0-9]+)(b|bw)$ index.php?status=25&id=$1&type=bw [QSA,L]
# ...

0 个答案:

没有答案