URL重写和获取参数

时间:2014-09-17 10:55:36

标签: php .htaccess url-rewriting

我目前正在建立一个网站内容来自数据库的网站。

要构建我的SQL语句,我使用URL中的参数,直到现在一切正常。

现在我想重写网址以获得干净的网址,因此默认情况下我的网址如下:

lunettes-collection.php?supplier=all&type=vue

我写了一条规则来转换此网址,如

lunettes-collection-vue.html

但现在当我到达此网址时,我显然无法获取参数type=vue

处理这种情况的最佳做法是什么?

2 个答案:

答案 0 :(得分:0)

使用.htaccess可以做到

# Turn Rewrite Engine On
RewriteEngine on

#Rewrite lunettes-collection.php?supplier=all&type=vue to 
#lunettes-collection/all/vue
RewriteRule ^lunettes-collection/([a-zA-Z]+)/([a-zA-Z]+) lunettes-collection.php?supplier=$1&type=$2 [NC,L]

请记住,如果您想要启用数字添加额外的0-9部分,URL将仅支持来自a-z和A-Z的字母

答案 1 :(得分:0)

重写不会是这样的结果。

$ _GET将获得正常变量。

请显示您的重写规则。

我尝试Nginx规则就像这样正常工作。

rewrite ^/lunettes-collection-vue.html$ /lunettes-collection.php?supplier=all&type=vue last;