htaccess URL重写的正则表达式

时间:2011-10-18 22:19:25

标签: php .htaccess

hiii,

我想重写目录www.mysite.com/index.php?category=news 到www.mysite.com/news 我写这段代码,但它不起作用 请有人帮忙 谢谢你的帮助

RewriteEngine On    
RewriteRule  ^([a-zA-Z0-9-/]+)$ index.php?category=$1

感谢所有回答我问题的人,当我尝试编写www.mysite.com/news时,所有代码都有效,但我的意思是当我点击链接时 “a href ='index.php?category = news'”link“/ a”我想立即重写到www.mysite.com/news

4 个答案:

答案 0 :(得分:1)

要确认,你要匹配的模式是字母,数字,连字符和正斜杠,对吗?

如果是这样,试试这个

RewriteRule ^([a-zA-Z0-9/-]+)$ index.php?category=$1 [QSA,L]

我认为问题可能是你在字符类表达式中对连字符和正斜杠的排序。要匹配连字符,它们应该出现在字符集中的第一个或最后一个。

答案 1 :(得分:0)

这有用吗?

RewriteBase /
RewriteRule (.*) index.php?category=$1 [QSA,NC,L]

答案 2 :(得分:0)

试试这个

Options +FollowSymLinks
RewriteEngine on
RewriteRule news/ index.php?category=news
RewriteRule news index.php?category=news

答案 3 :(得分:0)

RewriteRule ^(news|or|some|other|category)$ index.php?category=$1 [QSA,NC,L]