.htaccess 中目录的特殊规则

.htaccess 中目录的特殊规则

我有这个.htaccess文件:

RewriteEngine on
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.*)$ index.php?p=$1 [QSA]

我想创建最后一条规则的例外:如果用户输入,example.com/somefoldername它不应该重定向到index.php?p=somefoldername,而是重定向到./somefoldername/index.php

我想这是一项非常简单的任务!但想不出解决办法。我试过了

RewriteCond ^somefoldername$ somefoldername/index.php但它不起作用。

添加此行:

RewriteCond ^(somefoldername)/?$ $1/index.php [L]

导致“内部服务器错误”。

提前致谢!

答案1

有点“尝试”它(阅读:现在不看文档),但它是:

RewriteEngine on
RewriteBase /
RewriteCond %{REQUEST_FILENAME} -d
RewriteRule ^(.*)/?$ $1/index.php [QSA]

话虽如此,你的条件已读“如果请求文件名不是目录,并且请求文件名不是文件,则按照此规则重写。” 因此,如果somefoldername/index.pxp已经存在,它甚至不应该触发此重写。

相关内容