.htaccess 从example.com/forum重定向到example.ir/forum
我将从.htaccess 从example.com/forum重定向到example.ir/forum,.htaccess,redirect,mod-rewrite,forum,.htaccess,Redirect,Mod Rewrite,Forum,我将从 www.example.com/forum或example.com/forum 到 使用htaccess RewriteEngine On RewriteCond %{HTTP_HOST} ^example.ir/forum$ [OR] RewriteCond %{HTTP_HOST} ^example.com/forum$ [OR] RewriteCond %{HTTP_HOST} ^www.example.com/forum$ Rewrite
www.example.com/forum
或example.com/forum
到
使用htaccess
RewriteEngine On
RewriteCond %{HTTP_HOST} ^example.ir/forum$ [OR]
RewriteCond %{HTTP_HOST} ^example.com/forum$ [OR]
RewriteCond %{HTTP_HOST} ^www.example.com/forum$
RewriteRule (.*) http://www.example.ir/forum$1 [R=301,L]
我没有做到这一点,我总是得到:
www.example.irforum
(不带斜杠/),这是死链接。您发布的代码不可能重定向到www.example.irforum
(不带斜杠)。事实上,您发布的代码不会做任何事情(因为所有条件都不匹配)。如果您看到一个重定向,那么它可能是以前缓存的(错误的)重定向
假设example.com
和example.ir
指向同一个位置,然后在.htaccess文件中尝试以下操作:
RewriteEngine On
RewriteCond %{HTTP_HOST} ^(www\.)?example\.com$ [NC]
RewriteRule ^forum(.*) http://www.example.ir/forum$1 [R=302,L]
上述规则的处理如下:
重写规则模式^forum(.*)
?如果是,那么继续
HTTP\u HOST
服务器变量是否与CondPattern匹配。例如,主机
标题是www.example.com
还是example.com
?如果是,那么继续http://www.example.ir/forum$1
-这是重写规则
替换$1
指的是重写规则
模式中捕获的组(第一个括号中的子模式)-即任何与(.*)
匹配的组example.com
和example.ir
指向不同的服务器,则不需要RewriteCond
指令
使用302(临时)重定向进行测试,直到您确定它工作正常,然后更改为301(永久)。或者,在禁用浏览器缓存的情况下进行测试
HTTP\u HOST
变量只包含HTTPHOST
头。例如,example.com
。它不包含路径信息。使用重写规则模式匹配URL路径。您发布的代码不可能重定向到www.example.irforum
(没有斜杠)。事实上,您发布的代码不会做任何事情(因为所有条件都不匹配)。如果您看到一个重定向,那么它可能是以前缓存的(错误的)重定向
假设example.com
和example.ir
指向同一个位置,然后在.htaccess文件中尝试以下操作:
RewriteEngine On
RewriteCond %{HTTP_HOST} ^(www\.)?example\.com$ [NC]
RewriteRule ^forum(.*) http://www.example.ir/forum$1 [R=302,L]
上述规则的处理如下:
重写规则模式^forum(.*)
?如果是,那么继续
HTTP\u HOST
服务器变量是否与CondPattern匹配。例如,主机
标题是www.example.com
还是example.com
?如果是,那么继续http://www.example.ir/forum$1
-这是重写规则
替换$1
指的是重写规则
模式中捕获的组(第一个括号中的子模式)-即任何与(.*)
匹配的组example.com
和example.ir
指向不同的服务器,则不需要RewriteCond
指令
使用302(临时)重定向进行测试,直到您确定它工作正常,然后更改为301(永久)。或者,在禁用浏览器缓存的情况下进行测试
HTTP\u HOST
变量只包含HTTPHOST
头。例如,example.com
。它不包含路径信息。使用RewriteRule
模式匹配URL路径。Wow,它工作起来很有魅力,非常感谢,顺便问一下,我如何学习mod rewrite的逻辑?要了解您提供了什么?大量的尝试&错误、测试和质疑一切!:)在许多领域,这些指南可能过于简洁,几乎没有例子,但是,它们是一个非常宝贵的参考。复杂的重写通常涉及复杂的正则表达式,Apache文档根本没有涉及到这一点。是我的正则表达式的转到资源。是一个很好的资源,有大量的代码片段和原始示例,但解释很少。我会给我的答案添加更多的解释…哇,它就像一个魅力,非常感谢你顺便说一句,我如何才能学习修改重写的逻辑?要了解您提供了什么?大量的尝试&错误、测试和质疑一切!:)在许多领域,这些指南可能过于简洁,几乎没有例子,但是,它们是一个非常宝贵的参考。复杂的重写通常涉及复杂的正则表达式,Apache文档根本没有涉及到这一点。是我的正则表达式的转到资源。是一个很好的资源,有大量的代码片段和原始示例,但解释很少。我会给我的答案加上更多的解释。。。