我已经在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?
答案 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]