Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/287.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/.htaccess/6.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
Php htaccess重写子目录_Php_.htaccess_Mod Rewrite_Bluehost - Fatal编程技术网

Php htaccess重写子目录

Php htaccess重写子目录,php,.htaccess,mod-rewrite,bluehost,Php,.htaccess,Mod Rewrite,Bluehost,我在bluehost上有我的网站的制作副本和测试副本。每个网站都位于public_html文件夹中自己的目录中,一个名为prod,另一个名为test。根据bluehost knoweldge base的说法:您可以设置一个htaccess文件,将进入public_html文件夹的请求重写到my prod文件夹。到目前为止,这种方法效果很好。不过,我最近注意到,如果您尝试从主网站文件夹中的另一个目录加载网站文件,例如/prod/testfolder,但末尾没有正斜杠,它会将您重定向到www.mys

我在bluehost上有我的网站的制作副本和测试副本。每个网站都位于public_html文件夹中自己的目录中,一个名为prod,另一个名为test。根据bluehost knoweldge base的说法:您可以设置一个htaccess文件,将进入public_html文件夹的请求重写到my prod文件夹。到目前为止,这种方法效果很好。不过,我最近注意到,如果您尝试从主网站文件夹中的另一个目录加载网站文件,例如/prod/testfolder,但末尾没有正斜杠,它会将您重定向到www.mysite.com/prod/testfolder/,而不是停留在www.mysite.com/testfolder上。如果像这样指定额外的正斜杠,则不会出现这种情况。。。。www.mysite.com/testfolder/

以下是我的重写规则:

RewriteEngine on

RewriteCond %{HTTP_HOST} ^(www.)?mysite.com$
RewriteCond %{REQUEST_URI} !^/prod/
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ /prod/$1

RewriteCond %{HTTP_HOST} ^(www.)?mysite.com$
RewriteRule ^(/)?$ prod/index.php [L]

我不是使用htaccess重写URL的专家,但是我怀疑重写规则的第一部分是导致这种情况的原因。顺便说一句,我在这个网站上建立了一个博客,如果你试图访问www.mysite.com/blog上的博客,它会重定向到www.mysite.com/prod/blog/,这与使用htaccess屏蔽prod文件夹的目的背道而驰。有谁能告诉我应该如何着手解决这个问题,并解释为什么会发生这种情况?谢谢大家!

我要收回我的答案,因为这与你的实际问题无关。