.htaccess在与php文件同名的目录中重写

时间:2013-09-17 01:59:23

标签: php apache .htaccess mod-rewrite url-rewriting

假设我有这些文件/文件夹:

index.php
A.php
B.php
/A
  E.php
/B
  F.php
C.php
/D

假设我通过/ site /访问页面。 我想重写URL来执行这些任务:

/site/A -> /site/A.php
/site/B -> /site/B.php
/site/index -> /site/index.php
/site/A/F?id=828 -> /site/A/F.php?id=828

我还希望在完成后屏蔽'.php'扩展名。如何以这种方式重写URL? 我看了this question,但我仍然不明白如何做到这一点。

1 个答案:

答案 0 :(得分:0)

尝试这样的事情:

RewriteEngine On

RewriteCond %{REQUEST_FILENAME}.php -f
RewriteRule ^(.*)$ /$1.php [L]

您链接的问题进行了检查,以确保请求不是现有文件或目录。但是因为你有一个目录/A//B/而中断了。因此,您只需要检查是否存在/A.php/B.php