使您的查询字符串看起来更好

时间:2016-09-17 13:16:03

标签: php .htaccess mod-rewrite

我想更改我的网址:

items.php?category=all&page=2

进入:

items/all/2

据我所知,我可以使用mod_rewrite执行此操作。我想知道的是在使用mod_rewrite之后,我能够使用

<a href="items/all/2">

还是我仍然需要使用

<a href="items.php?category=all&page=2">

我希望能够使用第一个。如果不能使用mod_rewrite完成,我可以通过其他方式实现此结果吗?

2 个答案:

答案 0 :(得分:0)

您可以使用mod_rewrite,之后您可以在代码中使用此<a href="items/all/2">之类的字符串,尝试使用以下规则。

请注意,重写不重定向,因此您的上述链接将在apache中处理为<a href="items.php?category=all&page=2">

将以下规则放在根目录中的.htaccess文件中。

RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-l
RewriteRule ^([\w]+)\([\w]+)\([\w]+)$ $1.php?category=$2&page=$3 [QSA,L]

http://httpd.apache.org/docs/current/mod/mod_rewrite.html#rewriterule

答案 1 :(得分:0)

确实,为了获得更好看的网址,您可以使用 mod_rewrite 。在.HTACCESS文件中使用此类规则:

RewriteRule ^voitures/([a-zA-Z0-9_-]+)$ /vehicules.php?gamme=$1 [L]

允许您通过example.com/vehicules.php?gamme=xyz

访问example.com/voitures/xyz