.htaccess中目录的特殊规则

时间:2015-04-07 19:53:07

标签: regex apache .htaccess mod-rewrite

我有这个.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但它没有用。

提前致谢!

1 个答案:

答案 0 :(得分:1)

您可以使用:

RewriteEngine on
RewriteBase /

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

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