.htaccess清理网址超过3个参数

时间:2012-03-06 06:55:34

标签: php .htaccess mod-rewrite url-rewriting

我是.htaccess的新手,我似乎在为我清理网址时遇到了一些问题。

我有

site.com?p=article&id=3&read=article title

我能够使第一个变量正常工作,如site.com/articles。但当我试图进一步说服务器说它无法找到它。我尝试了几种似乎都没有工作的方法。

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

以上是有效的

我试过了

RewriteRule ^([a-zA-Z0-9-z\-]+)(/([a-zA-Z0-9-z\-]+))?/?$ index.php?p=$1&i=$2

RewriteRule ^([a-zA-Z0-9-z\-]+)/([a-zA-Z0-9-z\-]+)/([a-zA-Z0-9-z\-]+)/?$ index.php?p=$1&i=$2&read=$3

最后2个不起作用。请帮忙。感谢

2 个答案:

答案 0 :(得分:0)

我们试试这样的事情吗?

RewriteEngine On
RewriteRule ^([^/]*)/([^/]*)/([^/]*)$ /index.php?p=$1&id=$2&read=$3 [L]

答案 1 :(得分:0)

%{QUERY_STRING}就是你要找的。

这是我用于类似情况的:

RewriteRule   ^/(.*)  /index.php?r=/$1&%{QUERY_STRING} [L]