【问题标题】:Regex - redirect from website.com to website.com/us and append substring正则表达式 - 从 website.com 重定向到 website.com/us 并附加子字符串
【发布时间】:2022-01-12 17:25:38
【问题描述】:

谁能帮我纠正我的正则表达式?

我的主机提供 IP 地理定位,我想将美国客户重定向到我网站的另一个子目录。

网站在 Nginx 服务器上运行,主机提供了一个可以添加重定向规则的界面。该接口由Domain、Redirect from、Redirect To、Traffic from (country)和HTTP状态码301或302组成。

示例:
对于所有非美国客户website.com/blog/article/really-good-book
仅限美国客户website.com/us/blog/article/really-good-book

我目前有:
^/(?!us/)(.*)$重定向
重定向到/us/$1

目前这会将我重定向到website.com/us/index.php,仅此而已。所以应用了重定向,它只附加 index.php 而不是 blog/article/really-good-book。

感谢您的帮助。

【问题讨论】:

  • 请编辑您的问题以包括这些正则表达式的使用位置,即这是 Apache 配置还是类似配置?显示失败的最小配置。
  • 如果不知道重定向规则放在哪里,很难回答你的问题。
  • @MichaelC。我用我使用的界面周围的信息更新了我的问题。
  • @DeanTaylor 这是一个 Nginx 配置,所以我无权访问 .htaccess 文件。我从^.*$/us 的最小重定向开始,这让我陷入了重定向地狱。从那里我尝试忽略所有已经包含“我们”的网址,并将其他所有内容附加到新网址。

标签: regex url redirect


【解决方案1】:

最终我找到了自己的解决方案:
^(?!(/us|/index.php|/wp-admin|/wp-login.php))(.*)$重定向
重定向到/us/$1

我还为我的 wordpress 后端添加了一条规则,否则它总是会在尝试访问 website.com/us/wp-admin 时将我重定向回 website.com/us

【讨论】:

    猜你喜欢
    • 2012-06-19
    • 2020-10-08
    • 2011-10-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-06-24
    • 2021-05-15
    • 2016-05-27
    相关资源
    最近更新 更多