如何使用.htaccess获取自定义(友好)网址?

时间:2012-09-13 00:23:13

标签: apache .htaccess

说我有一个像http://abc.com/index.php?cat=37&subsubcat=0&subcat=199&page=product_detail&product_id=1661

这样的网址

我可以使用.htaccess将此重定向/重写为http://abc.com/simplerName这样的网址吗?

我在SO上发现了很多关于请求友好网址的帖子,但我想更进一步,即我想指定子文件夹名称应该是什么(在上面的例子,它是“simplerName”)。现在我有10个我想要自定义的网址,我为每个网址指定10条规则非常酷。

但我不确定如何使用.htaccess实现此目的。这甚至可能吗?

1 个答案:

答案 0 :(得分:0)

因为您使用不存在的“子文件”来指示哪个规则应该匹配什么,所以这将非常简单:

你想要这样的东西:

RewriteEngine On

RewriteRule ^/?category/([^/]+)/([^/]+)/([^/]+)/([^/]+)/([^/]+)/ /index.php?cat=$1&subsubcat=$2&subcat=$3&page=$4&product_id=$5 [L]

RewriteRule ^/?something-else/([^/]+)/([^/]+)/([^/]+)/([^/]+)/([^/]+)/ /index.php?something=$1&subsub=$2&sub=$3&page=$4&something_id=$5 [L]

然后,您需要将所有提供的网址更改为友好的网址,而不是具有查询字符串的网址。