【发布时间】:2014-03-24 20:30:35
【问题描述】:
我正在尝试将所有 .php 文件扩展名重写为 /
我让它用这段代码工作:
重写引擎开启
# hide .php extension snippet
# To externally redirect /dir/foo.php to /dir/foo
RewriteCond %{THE_REQUEST} ^[A-Z]{3,}\s([^.]+)\.php [NC]
RewriteRule ^ %1/ [R,L]
# To internally forward /dir/foo to /dir/foo.php
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME}\.php -f
RewriteRule ^(.+?)/?$ $1.php [L]
但是,它会破坏与数据库对话的管理页面,例如具有代码并使用 URL 中断的页面:
create-ticket.php?device=XBOX+360
我需要将扩展程序放在几页上...
有没有办法可以使用上面的代码,但只能用于特定文件,而不是每个以 .php 结尾的文件?
谢谢, -O
【问题讨论】:
-
您可以排除某些文件或文件夹,或者使用查询参数来传递页面,以便建立要查找的模式。
标签: php regex apache .htaccess mod-rewrite