Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/visual-studio-2010/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Mod rewrite mod_rewrite:将域定向到子文件夹(不带vhost)_Mod Rewrite_Redirect - Fatal编程技术网

Mod rewrite mod_rewrite:将域定向到子文件夹(不带vhost)

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

我有两个别名域,domain1.com和domain2.com 目前,它们都被定向到同一个地方,即我的web空间的根。但是,我希望将它们划分为独立的页面,并将domain2.com定向到具有不同内容的子文件夹中

我知道正确的方法是使用Apache虚拟主机。但是,我的服务提供商不允许我访问该功能,因此我必须使用mod_rewrite解决它

我需要的是将www.domain2.com和domain2.com指向子文件夹/的东西,该子文件夹/应该触发index.php。此外,www.domain2.com/file.txt应转到子文件夹/file.txt等。。。这就是我想到的:

<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]