【问题标题】:Regex for URL rewriting用于 URL 重写的正则表达式
【发布时间】:2018-02-16 22:43:46
【问题描述】:

我从 URL 重写开始,现在我只有一条规则:

RewriteRule ^(\w|\-)+/?$ ?o=$0

这会将.../anything 重写为?o=anything

现在我正在尝试将.../anything/article5 重写为?o=anything&id=5。我怎样才能做到这一点?我需要执行第二条规则或更详细的规则吗?另外,我的正则表达式不是很好,所以我有点挣扎。

【问题讨论】:

  • 我建议你保留你的正则表达式并在 PHP 中使用一个简单的explode("/",$_GET["o"])

标签: php regex url


【解决方案1】:

您可以添加此规则:

RewriteRule ^([\w|\-]+)/article([0-9]+)/?$ ?o=$1&id=$2

你必须用方括号[] 来定义一个字符的系列。 然后,$0 包含完整查询,$1 第一个捕获组 (()),$2 第二个,依此类推。

所以:

/anything/article5

会变身:

?o=anything&id=5

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-09-03
    相关资源
    最近更新 更多