使用 .htaccess 屏蔽子目录 URL/重定向 URL



Hi Stack Overflow社区,

我有一个关于网络设置的问题。我的主网站在我的"public_html"目录的根目录中。在此目录中,我创建了一个名为"子网站"的子文件夹。因此,此文件地址为:"public_html/子网站"。要访问我的主站点,我转到 www.example.com。我还有一个附加域,指向我的"子网站"目录,该目录 www.subsite.com

我的网址行为不正确。当我转到 www.subsite.com 时,它仅指向主页的主站点根文件夹中的相应子目录。但是,一旦我开始使用我的子网站导航到其他页面,网址就会变回 www.example.com/subsite/about.php 例如。我想屏蔽访问者的所有网址,以便当用户转到我的子网站上的某个页面时,该网页网址将被 www.subsite.com/about.php

当用户以这种方式导航到网站时:"www.example.com/subsite/...",它会将他们重定向到具有适当地址的 www.subsite.com。如果页面也可以重定向,那就太好了!例如,"www.example.com/subsite/about.php"重定向到"www.subsite.com/about.php"。

另外,我的子域也有类似的问题。当我导航到内页时,"customers.example.com"重写为"www.example.com/customers/..."。我认为这与上面发生的主站点内容类似。

感谢您的任何帮助!如果你有一个很好的教程来回答这个问题,请指出我那里。如果没有,我将不胜感激你能提供的任何自助!!

作为临时修复,请尝试在根 .htaccess 文件中添加以下行:

RewriteEngine on
RewriteCond %{HTTP_HOST} ^(www.)?example.com$
RewriteRule ^subsite(/(.*))?$ http://www.subsite.com/$2 [L,QSA,R=301]
RewriteCond %{HTTP_HOST} ^(www.)?example.com$
RewriteRule ^customers(/(.*))?$ http://customers.subsite.com/$2 [L,QSA,R=301]

但是您应该尝试解决重定向的源问题。

最新更新