感谢大师的帮助。
我被要求将客户的 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有点新手,所以让我知道我是怎么解决这个错误的,谢谢!