URL重写多个文件夹

时间:2016-09-14 12:20:42

标签: .htaccess mod-rewrite url-rewriting

您好我需要重写我的网址:

我有两个文件夹:folder1/file.php我在地址栏中只需要“文件”                   :folder2/file.php我在地址栏中只需要“file2” 我在root中获得了其他文件

当我使用

RewriteCond %{REQUEST_URI} !^/(folder1)
RewriteRule (.*) /folder1/$1 [L]

它正在运行但是如果我访问file2,我就不能,因为它正在搜索folder1/file2.php并且找不到它!

如果我尝试访问index.php,则会搜索folder1/index.php

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

1 个答案:

答案 0 :(得分:1)

您必须设置条件来检查文件中是否也存在文件:

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

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

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