将所有外部请求重定向到等效于服务器URL .htaccess的产品

我想说的是:

对于不在110.140或110.10范围内的所有IP地址。如果他们试图访问以“ stage”开头的URL。然后将它们重定向到相同的URL,但删除“阶段”。网址中字符串的一部分。

RewriteCond %{REMOTE_ADDR} !^(110\.(140|10)) [NC]
RewriteCond %{HTTP_HOST} ^stage\. [NC]
RewriteRule stage\.(.*) https://$1 [R=301,L]

仅使用made with love htaccess tester中的最后两行时,最后一行失败(不满足)。我尚未在服务器上测试过代码。

更新

在阅读了Apache RewriteRule指令的详细信息之后,我意识到RewriteRule指令不搜索HTTP_HOST,仅搜索其后的内容。因此,此方法将行不通。有谁有办法行得通?

qq125486395 回答:将所有外部请求重定向到等效于服务器URL .htaccess的产品

看起来您的主机名以stage.而不是URI开头。您可以使用以下规则:

RewriteCond %{REMOTE_ADDR} !^110\.(140|10)
RewriteCond %{HTTP_HOST} ^stage\.(.+)$ [NC]
RewriteRule ^ https://%1%{REQUEST_URI} [R=301,L,NE]
本文链接:https://www.f2er.com/3108610.html

大家都在问