我有这个:
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
我对重写引擎有基本的了解,但我不是专家。谢谢!
答案 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]