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
.htaccess 在多个文件夹上重写URL_.htaccess_Mod Rewrite_Url Rewriting - Fatal编程技术网

.htaccess 在多个文件夹上重写URL

.htaccess 在多个文件夹上重写URL,.htaccess,mod-rewrite,url-rewriting,.htaccess,Mod Rewrite,Url Rewriting,您好,我需要重写我的URL: 我有两个文件夹:folder1/file.php,我只需要地址栏中的“file” :folder2/file.php我只需要地址栏中的“file2” 我在根目录中还有其他文件 当我使用 RewriteCond %{REQUEST_URI} !^/(folder1) RewriteRule (.*) /folder1/$1 [L] 它正在工作,但如果我访问file2,我就无法访问,因为它正在folder1/file2.php上搜索,但找不到它 如果我试图访问inde

您好,我需要重写我的URL:

我有两个文件夹:
folder1/file.php
,我只需要地址栏中的“file” :
folder2/file.php
我只需要地址栏中的“file2” 我在根目录中还有其他文件

当我使用

RewriteCond %{REQUEST_URI} !^/(folder1)
RewriteRule (.*) /folder1/$1 [L]
它正在工作,但如果我访问
file2
,我就无法访问,因为它正在
folder1/file2.php
上搜索,但找不到它

如果我试图访问
index.php
它正在
folder1/index.php


我知道如何删除文件扩展名,但找不到如何正确重写文件夹。

您必须设置条件以检查文件夹中是否也存在文件扩展名:

RewriteCond %{DOCUMENT_ROOT}/folder1/$1 -f [NC]
RewriteRule ^(.*)$ /folder1/$1 [L]

RewriteCond %{DOCUMENT_ROOT}/folder2/$1 -f [NC]
RewriteRule ^(.*)$ /folder2/$1 [L]

这要求您的文件名在两个目录中都是唯一的,如果它们都有
somefile.php
,则会失败。

。。。我尝试过这个,但是使用%{REQUEST_URI},非常感谢!