htaccess url重写到wordpress页面不';不适用于子/子页面

htaccess url重写到wordpress页面不';不适用于子/子页面,wordpress,apache,.htaccess,mod-rewrite,url-rewriting,Wordpress,Apache,.htaccess,Mod Rewrite,Url Rewriting,我目前在域名“wp site.com”上有一个WordPress网站。我在wp-site.com上有2个页面;它们的永久链接如下: wp-site.com/ex-home1(“ex-domain1”的主页) wp-site.com/ex-home1/booking1(ex-home1的子页面) 我们的想法是对许多外部域重复此操作,例如“ex-domain1.com”和“ex-domain2.com”,并“指向”wp-site.com上的特定页面,如ex-home2和ex-home2/cont

我目前在域名“wp site.com”上有一个WordPress网站。我在wp-site.com上有2个页面;它们的永久链接如下:

  • wp-site.com/ex-home1(“ex-domain1”的主页)
  • wp-site.com/ex-home1/booking1(ex-home1的子页面)
我们的想法是对许多外部域重复此操作,例如“ex-domain1.com”和“ex-domain2.com”,并“指向”wp-site.com上的特定页面,如ex-home2和ex-home2/contact等,同时将外部域url保留在浏览器中。这是因为1个中央WP实例可以为同一公司组中的部门管理多个2到3页的小型站点

在ex-domain1.com上,我使用以下代码放置了htaccess:

Options +FollowSymLinks -MultiViews
RewriteEngine On
RewriteBase /

RewriteCond %{HTTP_HOST} ^ex-domain1.com/?$ [NC]
RewriteRule ^ http://wp-site.com/ex-home1/$1 [L,NE,P,QSA]
我已经尝试了很多这方面的变化,我在so和其他论坛上发现了这些变化,但是上面的代码让我最接近我想要实现的目标

我现在面临的问题是,重写对“主页”和“预订”页面都非常有效

wp-site.com/ex-home1 --> rewrites to --> ex-domain1.com
wp-site.com/ex-home1/booking1 --> rewrites to --> ex-domain1.com/booking
但“预订”/子页面也会再次显示ex-domain1.com的“主页”。如前所述,我广泛地玩弄了$(字符串末尾)和通配符值,但毫无用处。大多数情况下,我会收到404/“找不到页面”错误

我读到WordPress自己的htaccess可能会引起问题。wp-site.com wp-htaccess默认为:

<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>

重新启动发动机
重写基/
重写规则^index\.php$-[L]
重写cond%{REQUEST_FILENAME}-F
重写cond%{REQUEST_FILENAME}-D
重写规则/index.php[L]
有什么建议我可以试试吗


提前谢谢

您有一个$1,但您没有创建捕获组。尝试:

Options +FollowSymLinks -MultiViews
RewriteEngine On
RewriteBase /

RewriteCond %{HTTP_HOST} ^ex-domain1.com/?$ [NC]
RewriteRule ^(.*)$ http://wp-site.com/ex-home1/$1 [L,NE,P,QSA]

您有一个$1,但您没有创建捕获组。尝试:

Options +FollowSymLinks -MultiViews
RewriteEngine On
RewriteBase /

RewriteCond %{HTTP_HOST} ^ex-domain1.com/?$ [NC]
RewriteRule ^(.*)$ http://wp-site.com/ex-home1/$1 [L,NE,P,QSA]

谢谢你,乔恩。我尝试了您的建议,添加了“(.*)$”捕获组。我现在收到一条“未找到页面”的消息,但似乎是指向wp-site.com(这是wp生成的未找到页面)。当URL附加它捕获的$1时会有问题吗?谢谢Jon。我尝试了您的建议,添加了“(.*)$”捕获组。我现在收到一条“未找到页面”的消息,但似乎是指向wp-site.com(这是wp生成的未找到页面)。当URL附加它捕获的$1时是否会出现问题?好的,我在htaccess中添加了'DirectoryIndex.php index.html index.htm'。“未找到页面”消失,但现在ex-domain1.com重定向到wp-site.com/ex-home1/而不是重写。/booking1子页被正确重写。好的,我在htaccess中添加了“DirectoryIndex.php index.html index.htm”。“未找到页面”消失,但现在ex-domain1.com重定向到wp-site.com/ex-home1/而不是重写。已正确重写/booking1子页。