【发布时间】:2012-05-28 13:47:51
【问题描述】:
感谢大师的帮助。
我被要求将客户的 WordPress 主页放在一个 TLD(即 domain.eu)上,并将所有其他页面/目录 301 转换为不同的 TLD 扩展名(即 domain.com/everything-else)。不知道为什么要这样做,但显然这对客户很重要,我一直在努力让它工作。有什么想法吗?
示例:
如果 URL 命中任何域 TLD 的根,它们应该被重定向到 .eu 域 (http://domain.eu/),但其他所有内容都应该转到 .com 域 (http://domain.com /)
根源:
http://domain.com OR
http://domain.net OR
http://domain.edu/index.php OR
http://domain.org/index.html OR
http://domain.* (* = any extension)
301 收件人: http://domain.eu
但是,其他所有内容都需要维护目录结构,并被重定向到其他 TLD (http://domain.com)。例子..
发件人:
http://domain.net/blog/category
301 收件人:
http://domain.com/blog/category
发件人:
http://domain.org/blog/category/post
301 收件人:
http://domain.com/blog/category/post
我尝试过的一切都以重定向循环告终,或者只是部分成功。例如,下面是 WordPress 重定向的上方,它正确重定向,因为所有目标 URL 都被命中,但根(主页)有一个重定向循环错误。有什么想法吗?
RewriteEngine On
RewriteBase /
Options +FollowSymLinks
RewriteCond %{HTTP_HOST} ^www\.(.+)$ [NC]
RewriteRule ^(.*)$ http://%1/$1 [R=301,L]
RedirectMatch ^/$ http://domain.eu
RewriteCond %{REQUEST_URI} !^/$ [NC]
RewriteCond %{HTTP_HOST} ^domain.com.au$ [NC,OR]
RewriteCond %{HTTP_HOST} ^domain.eu$ [NC,OR]
RewriteCond %{HTTP_HOST} ^domain.de$ [NC]
RewriteRule ^(.*)$ http://domain.com/$1 [R=301,L]
我对 htaccess 有点陌生,所以请告诉我我是怎么解决这个问题的,谢谢!
【问题讨论】:
标签: linux wordpress .htaccess redirect permanent