使用三个动态参数重写URL

时间:2013-07-23 09:57:50

标签: .htaccess url rewriting

我正在我的网站上工作,网址类似于:

http://mywebsite.com/series.php?sid=1&part=1&name=Introduction%20to%20HTML

我在我的htaccess中尝试了一条规则:

RewriteRule ^([^/]+)/([^/]+)/([^\.]+)\.html$ /series.php?sid=$1&part=$2&name=$3

为了以下列形式重写网址:

http://mywebsite.com/1/1/Introduction to html.html

不幸的是,它不适合我。

请有人帮我解决问题。如果有人让我明白它是如何运作的,我也会喜欢它。 我是.htaccess的新手。 在上面的规则中,我可以看到三个不同的部分,如:

1st part: ^([^/]+)
2nd Part: ([^/]+)
3rd part: ([^\.]+)\.html$

这三个部分用反斜杠分隔。它们是如何工作的,如何使用相同的重写URL表单超过3个,比如4个或5个参数,少于3个,如2个参数?

谢谢!

1 个答案:

答案 0 :(得分:0)

您的规则是正确的,只需添加L标志即可结束规则,并确保通过Apache配置启用.htaccess和mod_rewrite。

Options +FollowSymLinks -MultiViews
# Turn mod_rewrite on
RewriteEngine On

RewriteRule ^([^/]+)/([^/]+)/([^\.]+)\.html$ /series.php?sid=$1&part=$2&name=$3 [L,NC,QSA]