我正在尝试了解如何根据原始URL的格式有条件地将域转发到新域,如下所示:
old-domain.co.uk --> newdomain.co.uk/area/mytown
old-domain.co.uk/path-to-article --> newdomain.co.uk/path-to-article
下面的代码可以很好地处理任何在域名后面有路径的URL,但显然只是将www.example.com转发olddomain.co.uk到newdomain.co.uk
RewriteCond %{HTTP_HOST} ^olddomain.co.uk$ [OR]
RewriteCond %{HTTP_HOST} ^www.olddomain.co.uk$ [NC]
RewriteRule ^(.*)$ https://newdomain.co.uk/$1 [R=301,L]
所以https://olddomain.co.uk/test/newpage将转发到https://newdomain.co.uk/test/newpage,这很好。
但是https://olddomain.co.uk将转发到https://newdomain.co.uk,这不是我想要的,所以如果原始URL在域之后没有路径,我需要“捕获”它,并将其重定向到特定的URL,而不仅仅是新域。
兜圈子试图找出这件事的逻辑,所以任何帮助都表示感谢!我假设我需要指定一些东西沿着的“如果网址是一个完全匹配,然后这样做,如果网址后的域,然后这样做,而不是”
谢谢
斯图尔特
1条答案
按热度按时间kknvjkwl1#
1.检查是否没有URL没有路径(REQUEST_URI => /)并且域(HTTP_HOST)是www.old-domain.co.uk或old-domain.co.uk。
1.检查URL是否有路径(REQUEST_URI!= /)并且域(HTTP_HOST)是www.old-domain.co.uk或old-domain.co.uk。