【问题标题】:Shortlinks RewriteRule Regex短链接重写规则正则表达式
【发布时间】:2011-01-15 17:47:33
【问题描述】:

我正在使用 Apache/PHP 来支持对文档的短链接,但我无法正确使用正则表达式进行重定向。

我的链接采用 8 个字母/数字的形式,例如“1abc45fd”,我想让它们重定向到 /shortlink.php?link=1abc45fd 但它无法正常工作。我在我的 .htaccess 文件中使用了以下表达式:“RewriteRule ^([a-zA-Z0-9]+)$”,但这会重定向所有 URL,而不仅仅是那些只有 8 个字符的 URL。如何修改规则以限制完全匹配 8 个字符?

提前致谢。

【问题讨论】:

    标签: php regex apache http rewrite


    【解决方案1】:
    RewriteRule ^([a-zA-Z0-9]{8})$ shortlink.php?link=$1
    

    您可能想进一步熟悉正则表达式语法,我发现this Regex Reference page 是一个好的开始。

    【讨论】:

    • 谢谢,我试试看!我一直在尝试学习正则表达式,当我需要使用它时,但它对我来说仍然没有任何意义,我想我必须继续努力!
    • "{8}" 表示正好是前一组中的八个字符,并且 "$1" 引用表达式中的第一个括号匹配(子表达式)
    【解决方案2】:
    RewriteRule ^([a-zA-Z0-9]{8})$
    

    编辑:Aistina 打败了我

    【讨论】:

      猜你喜欢
      • 2016-02-10
      • 2021-10-26
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-06-10
      • 2011-10-13
      相关资源
      最近更新 更多