【发布时间】: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的最小重定向开始,这让我陷入了重定向地狱。从那里我尝试忽略所有已经包含“我们”的网址,并将其他所有内容附加到新网址。