如何使用查询字符串在.htaccess中动态生成友好的URL?

时间:2016-11-07 19:31:51

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

我已经在SO上回顾了类似的问题,找不到符合我需求的问题,所以这不是重复的。

我有一个名为php的简单top.php页面。我在网址中传递了一个参数:top.php?n=100

在我的.htaccess文件中,我使用mod_rewrite将网址更改为top-100。简单。但我想做的是不必硬编码任何作为参数传递的数字的URL。让我详细说明一下:

top.php?n=5 |重写为top-5

top.php?n=3 |重写为top-3

top.php?n=10 |重写为top-10

等等。

那么如何使用查询字符串参数创建重写来动态生成友好的URL?

1 个答案:

答案 0 :(得分:1)

您可以在.htaccess中使用这些规则:

RewriteEngine On

RewriteCond %{THE_REQUEST} /top\.php\?n=(\d+) [NC]
RewriteRule ^ /top-%1? [R=301,L,NE]

RewriteRule ^top-(\d+)/?$ top.php?n=$1 [L,QSA,NC]