【问题标题】:How to dynamically generate friendly URLS in .htaccess using query string?如何使用查询字符串在 .htaccess 中动态生成友好的 URL?
【发布时间】:2017-03-21 06:21:09
【问题描述】:

我已经查看了关于 SO 的类似问题,但找不到适合我需要的问题,因此这不是重复的。

我有一个简单的php 页面,名为top.php。我在 url 中传递一个参数,如下所示: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?

【问题讨论】:

  • 试试正则表达式,比如top.php\?n=([0-9]+) | top-$1

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


【解决方案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]

【讨论】:

    猜你喜欢
    • 2013-04-28
    • 1970-01-01
    • 2019-10-31
    • 2017-02-13
    • 1970-01-01
    • 1970-01-01
    • 2011-09-22
    • 2012-09-27
    • 1970-01-01
    相关资源
    最近更新 更多