更新:report
是一个保留字还是mod重写中的某种特殊字符串?我已将文件名更改为report1
,规则正常。
原始问题:
我无法获取特定文件/www/admin/report.php
来处理重写规则。我希望删除php扩展并将类别值附加到/admin/
路径,如下所示:
https://url.com/car/admin/report
但由于某些原因,网址仅适用于扩展名:
https://url.com/car/admin/report.php
我已取消注释要测试的其他规则。以下是应删除php扩展的规则:
RewriteCond %{REQUEST_FILENAME}.php -f
RewriteRule !.*\.php$ %{REQUEST_FILENAME}.php [QSA,L]
RewriteCond %{THE_REQUEST} /index\.php [NC]
RewriteRule ^([^\.]+)$ $1.php [NC,L]
RewriteCond %{REQUEST_URI} /(admin|search)/(.*)
RewriteRule ^(.*)/(.*)/(.*)?$ $2/$3?category=$1 [NC,QSA]
// I make it less specific so it works with any filenames other than report.php as well
我已尝试将.php
添加到最后一条规则中,但不会发挥作用
RewriteRule ^(.*)/(.*)/(.*)?$ $2/$3.php?category=$1 [NC,QSA]
任何帮助将不胜感激。
答案 0 :(得分:1)
你可以尝试使用mod_negotiation,并抛弃所有的php扩展规则。只需在htaccess文件中的某处添加选项:
Options +Multiviews