所以我已经有这个问题已经有一段时间了,最初我只是处理了很长一段时间,但是没有用,所以我希望有更坚实的解决方案。
我目前的问题是使用以下代码:
RewriteRule ^error/([a-zA-Z0-9-]+)/$ error.php?id=$1
error.php?id = 404变成了这个:
/error/404/
哪个是完美的。但是,如果我添加一个在最后使用id的新页面,我必须将它添加到我的htaccess中,这是额外的工作,并且在最佳实践方面似乎不太好。
我希望有一条线可以有各种各样的组合,但它不起作用。
我尝试了以下操作,导致默认的300多个请求错误。
RewriteRule ^/([a-zA-Z0-9-]+)/$ $1.php?id=$2
请帮忙吗?
答案 0 :(得分:2)
您可以使用此
RewriteCond %{DOCUMENT_ROOT}/$1\.php -f
RewriteRule ^([^/]+)/([^/]+)/$ /$1.php?id=$2 [L]
示例:如果/error/404/
存在,/error.php?id=404
将被重写为error.php
注意:也许你必须禁用MultiViews
选项(apache content negociation)
Options -MultiViews