htaccess规则不起作用

时间:2012-12-22 16:55:40

标签: regex .htaccess

这是我原来的链接

http://localhost/xx/xx/public_html/news.php?id=7

我想将其更改为

http://localhost/xx/xx/public_html/news-7-TitleOfNews.html

这是我的htaccess

Options -Indexes 
ErrorDocument 404 www.site.com/404.html
RewriteEngine On
RewriteRule ^news-([0-9]*)(?:-([0-9a-zA-Z*]))?(?:\.html)?$ news.php?id=$1 [L]

但它不起作用(重定向到404页面)

1 个答案:

答案 0 :(得分:3)

我想你正在寻找这个:

RewriteRule ^news-([0-9]*)(?:-[0-9a-zA-Z]*)?(?:\.html)?$ news.php?id=$1 [L]

不同之处在于*量词应该在字符类表达式之外。将单个字符类包装到括号中是多余的。