Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/.htaccess/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Apache 将内容重定向到另一个域;特定文件夹-htaccess_Apache_.htaccess_Mod Rewrite - Fatal编程技术网

Apache 将内容重定向到另一个域;特定文件夹-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

我是htaccess的新手,希望您能帮助我

供应商在htaccess文件中向我提供了以下信息:

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的末尾是否有一个查询字符串,如果这个字符串也结转了吗?例如:我知道了!再次感谢您的帮助:)