Mod rewrite mod_rewrite:将域定向到子文件夹(不带vhost)
我有两个别名域,domain1.com和domain2.com 目前,它们都被定向到同一个地方,即我的web空间的根。但是,我希望将它们划分为独立的页面,并将domain2.com定向到具有不同内容的子文件夹中 我知道正确的方法是使用Apache虚拟主机。但是,我的服务提供商不允许我访问该功能,因此我必须使用mod_rewrite解决它 我需要的是将www.domain2.com和domain2.com指向子文件夹/的东西,该子文件夹/应该触发index.php。此外,www.domain2.com/file.txt应转到子文件夹/file.txt等。。。这就是我想到的:Mod rewrite mod_rewrite:将域定向到子文件夹(不带vhost),mod-rewrite,redirect,Mod Rewrite,Redirect,我有两个别名域,domain1.com和domain2.com 目前,它们都被定向到同一个地方,即我的web空间的根。但是,我希望将它们划分为独立的页面,并将domain2.com定向到具有不同内容的子文件夹中 我知道正确的方法是使用Apache虚拟主机。但是,我的服务提供商不允许我访问该功能,因此我必须使用mod_rewrite解决它 我需要的是将www.domain2.com和domain2.com指向子文件夹/的东西,该子文件夹/应该触发index.php。此外,www.domain2.c
<IfModule mod_rewrite.c>
RewriteEngine on
RewriteCond %{HTTP_HOST} domain2\.com [NC]
RewriteRule ^(.*)$ subfolder/$1 [L]
</IfModule>
为了测试发生了什么,我制作了一个小的php脚本,打印出它得到的字符串。
我还修改了规则:
RewriteRule ^(.*)$ subfolder/test.php?string=$1 [L]
现在,当我转到domain2.com或domain2.com/asd时,它会打印出来:subfolder/test.php
不知怎的,它进入了递归并打印自己。鉴于,如果我使用以下规则:
RewriteRule ^abc(.*)$ subfolder/test.php?string=$1 [L]
然后domain2.com/abcdef打印:def
我不知道我做错了什么。你有什么建议吗?
谢谢 可能是重写规则适用于.htaccess所在文件夹的子文件夹。添加阻止重写已以子文件夹/?开头的URL的条件是否有帮助?谢谢,这很有帮助。这让我走上了正确的轨道,我找到了这一页:
RewriteRule ^abc(.*)$ subfolder/test.php?string=$1 [L]