.htaccess在同一目录中多次重写

时间:2013-10-09 06:02:02

标签: php .htaccess mod-rewrite

我有这个:

RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ $1.php [QSA]

删除“.php”扩展程序,效果很好。我一直在玩添加另一个规则,但它被忽略了。我需要第二条规则来说:

example.php /“variable”然后使用example.php?page = variable

进行分组

用户看到的网址:

example.com/folder/example/variable

实际页面为example.com/folder/example?page=variable

我对重写引擎有基本的了解,但我不是专家。谢谢!

1 个答案:

答案 0 :(得分:0)

您需要在php规则中添加另一个条件,该条件检查重写目标是否确实存在。哎呀,你想要几乎相同的东西,但你检查路径信息:

RewriteEngine On

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{DOCUMENT_ROOT}%{REQUEST_URI}.php -f
RewriteRule ^(.*)$ $1.php [QSA,L]

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_URI} ^/(.*)/([^/]+)$
RewriteCond %{DOCUMENT_ROOT}/%1.php -f
RewriteRule ^(.*)/([^/]+)$ /$1.php?page=$2 [L,QSA]
相关问题