[英]htaccess rewrite rules, or a PHP issue?
我正在编写一个主要仅由我自己使用的小型Web应用程序,因此我对精美的框架和页面模板等不感兴趣。
我需要能够重写以下网址:
/?page=parks
/?page=park&id=1
成
/parks
/park/1
现在,我已经非常了解以下规则:
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME}\.php -f
RewriteRule ^([^/]*)$ /?page=$1 [L]
RewriteRule ^([^/]+)/([^/]+)$ /?page=$1&id=$2 [L]
这适用于我拥有的大多数页面,但是如果我执行URL /设置,则会中断。 如果我回显$ _GET ['page'],则会得到“ inc”。 我不知道为什么。 这是PHP问题,还是我的规则错误?
为此,您不需要RewriteCond %{REQUEST_FILENAME}\\.php -f
条件。
您可以使用:
RewriteCond %{REQUEST_FILENAME} -d [OR]
RewriteCond %{REQUEST_FILENAME} -f
RewriteRule ^ - [L]
RewriteRule ^([^/]+)/?$ /?page=$1 [L,QSA]
RewriteRule ^([^/]+)/([^/]+)/?$ /?page=$1&id=$2 [L,QSA]
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.