.htacess重写条件:页面到第二个域/页面

时间:2018-07-11 作者:buckdanny

我正在为两个具有不同域的独立网站安装一个WordPress。

为了将第二个域重定向到它自己的索引页,我使用了。

RewriteEngine On
RewriteBase /
RewriteCond %{HTTP_HOST} ^seconddomain.com$ [OR]
RewriteCond %{HTTP_HOST} ^www.seconddomain.com$
RewriteRule ^(.*)$ index.php?page_id=78 [NC,QSA]
这很有效,但我不知道如何处理特定页面,例如,印记页面。

第一个的页面印记具有permalink firstdomain。com/imprint和第二页imprint具有permalink firstdomain。com/seconddomain印记。

如何使用以下URL访问此页面:

seconddomain.com/imprint

1 个回复
最合适的回答,由SO网友:MrWhite 整理而成

RewriteCond %{HTTP_HOST} ^seconddomain.com$ [OR]
RewriteCond %{HTTP_HOST} ^www.seconddomain.com$
RewriteRule ^(.*)$ index.php?page_id=78 [NC,QSA]
“问题”在于它重写了seconddomain.com/<everything>/index.php?page_id=78. 如果您只想使用第二个域的主页page_id=78 那么你应该改变RewriteRule 模式仅匹配主页(即空URL路径)。例如:

RewriteCond %{HTTP_HOST} ^(www\\.)?seconddomain\\.com
RewriteRule ^$ index.php?page_id=78 [QSA,L]
(我还将两者结合起来RewriteCond 指令,转义点并删除尾随$ 捕获FQDN。这个NC 标志在此处也是多余的L 标记可能更可取,以防止不必要地处理进一步的指令。)

然后,对于特定页面,您需要复制上述指令。例如:

RewriteCond %{HTTP_HOST} ^(www\\.)?seconddomain\\.com
RewriteRule ^specific-page$ index.php?page_id=NN [QSA,L]
在哪里NN 是否合适page_id 对于/specific-page.

如果您有许多URL,那么可以修改指令,以避免包含RewriteCond 每次都是指令。

结束