gpt4 book ai didi

regex - htaccess 和 URL 中的符号

转载 作者:行者123 更新时间:2023-12-02 07:04:10 24 4
gpt4 key购买 nike

我有一个表,其中每一行代表一个页面。 title 列包含页面名称。加载页面时,原始 url 如下所示:www.mysite.com/?q=france,然后我快速查找数据库 WHERE title = 'france'就是这样。我现在正在使用 htaccess 使 url 更友好。像这样:RewriteRule ^([a-zA-Z0-9#%@\s\(\)\[\]\-]+)$page.php?q=$1,所以我可以使用 www.mysite.com/france。我遇到的问题是当标题有一个符号时,比如“一和二”。查找失败。我试过了

  1. \& 添加到 htaccess,和
  2. www.mysite.com/one %26 two

这两个都失败了,尽管 www.mysite.com/?q=one %26 two 确实有效。

我有什么方法可以让它与“干净”的 url 一起工作吗?

TIA!

最佳答案

两件事:

  1. URI 在通过 mod_rewrite 之前被解码,因此您不想匹配 %26,您只想匹配 &
  2. 您现在需要重新编码 & 回到 %26 因为它被放置在查询字符串中,所以您需要使用 B 标志。所以像这样:

    # Add a "&"----------------v
    RewriteRule ^([a-zA-Z0-9#%@&\s\(\)\[\]\-]+)$ page.php?q=$1 [L,B]
    # Include the "B" flag -------------------^

关于regex - htaccess 和 URL 中的符号,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15197213/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com