使用一行htaccess使URL变得漂亮

时间:2014-09-07 21:43:48

标签: .htaccess mod-rewrite

所以我已经有这个问题已经有一段时间了,最​​初我只是处理了很长一段时间,但是没有用,所以我希望有更坚实的解决方案。

我目前的问题是使用以下代码:

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

请帮忙吗?

1 个答案:

答案 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