Apache 将内容重定向到另一个域;特定文件夹-htaccess
我是htaccess的新手,希望您能帮助我 供应商在htaccess文件中向我提供了以下信息:Apache 将内容重定向到另一个域;特定文件夹-htaccess,apache,.htaccess,mod-rewrite,Apache,.htaccess,Mod Rewrite,我是htaccess的新手,希望您能帮助我 供应商在htaccess文件中向我提供了以下信息: Condition %{HTTP_HOST} ^/World/environment/ RewriteRule http://world.environment.net/$1 当我运行它时,不会发生重定向 我希望做的是重写一页 http://myserver.com/World/environment/pages/pageX.html 在我的服务器上: http://world.envir
Condition %{HTTP_HOST} ^/World/environment/
RewriteRule http://world.environment.net/$1
当我运行它时,不会发生重定向
我希望做的是重写一页
http://myserver.com/World/environment/pages/pageX.html
在我的服务器上:
http://world.environment.net/pages/pageX.html
我已经读了很多关于htaccess如何工作的书,但是我似乎无法理解这一点
有人能帮这个女孩吗?你的
条件应该是RewriteCond
,并且%{HTTP\u HOST}
变量永远不会匹配^/World/environment/
。主机请求头只包含一个内容,即请求所针对的主机名。主机字段中没有路径信息。其次,您的重写规则需要一个模式,条件中的内容应该在规则中。你想要这样的东西:
RewriteEngine On
RewriteCond %{HTTP_HOST} ^myserver\.com$ [NC]
RewriteRule ^/?World/environment/(.*)$ http://world.environment.net/$1 [L,R]
这是一个重定向,这意味着浏览器被告知加载新的URL,从而更改浏览器位置栏中的内容。您还使用了“重写”一词,这与“重写”一词不同。重写完全发生在服务器端,更改URI而不告诉浏览器它已更改。当服务器不同时,不能进行这种重写。在这里,您最好将规则中的R
标志更改为P
,从而实现反向代理。这要求您已加载mod_代理。谢谢Jon;看起来供应商可能对我们的指导不正确:)你的解释对我来说很有意义;谢谢你简单的解释!你能让我知道在URL的末尾是否有一个查询字符串,如果这个字符串也结转了吗?例如:我知道了!再次感谢您的帮助:)