赞赏大师的帮助。
我被要求将客户端的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有点新手,所以让我知道我是怎么做错的,谢谢!
答案 0 :(得分:0)
WordPress将重定向任何与WordPress配置中的域不匹配的网址。您需要编写WP插件或使用代理来获取其他域的主页。
答案 1 :(得分:0)
尝试使用以下内容替换重定向匹配。
RewriteCond %{HTTP_HOST} !^domain.eu$ [NC]
RewriteRule ^/?$ http://domain.eu/ [R=301,L]