Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/.htaccess/6.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 VirtualHosts-从URL重定向中排除单个文件_Apache_.htaccess_Mod Rewrite_Virtualhost_Vhosts - Fatal编程技术网

Apache VirtualHosts-从URL重定向中排除单个文件

Apache VirtualHosts-从URL重定向中排除单个文件,apache,.htaccess,mod-rewrite,virtualhost,vhosts,Apache,.htaccess,Mod Rewrite,Virtualhost,Vhosts,我目前正在将所有请求从olddomain.com重定向到我的Apache服务器到newdomain.com——它工作正常,但实际上我只需要加载一个文件,就像它位于olddomain.com一样 下面是重要的一点现在的样子: <VirtualHost *:80> ServerName olddomain.com ServerAlias olddomain.com Redirect / http://newdomain.com/ </VirtualHost> Serve

我目前正在将所有请求从
olddomain.com
重定向到我的Apache服务器到
newdomain.com
——它工作正常,但实际上我只需要加载一个文件,就像它位于
olddomain.com
一样

下面是重要的一点现在的样子:

<VirtualHost *:80>
ServerName olddomain.com
ServerAlias olddomain.com

Redirect / http://newdomain.com/
</VirtualHost>

ServerName olddomain.com
ServerAlias olddomain.com
重定向/http://newdomain.com/
我喜欢这个简单的
重定向/http://newdomain.com
解决方案,因为它完全符合我的要求,而且非常简单,甚至我都能理解!但是,我如何例外,以便当某人/某事转到
http://olddomain.com/excludedfile.php
,是否加载到预期的域名?到目前为止,我找到的解决方案似乎是针对mod_重写设置的。如果mod_重写是必需的,我想我可以接受它,但我不想


我为什么需要这个:我刚刚向苹果提交了我的应用程序,并在最后一分钟决定我需要更改域名,这破坏了应用程序的一个功能,因为它明确依赖于查看旧域名——由于对我的虚拟主机文件所做的更改,它再也看不到了

对于正则表达式功能,您需要使用
重定向匹配

RedirectMatch 301 ^((?!.*?excludedfile\.php).*)$ http://newdomain.com$1

此更改将要求您重新启动Apache。

您确定吗?我用这个替换了我的
重定向
行,现在所有内容都重定向到主页(
http://newdomain.com/
-斜杠后没有任何内容)。啊,是的,有输入错误,请尝试更新规则并重新启动。奇怪-现在当我转到
http://olddomain.com/excludedfile.php
我收到一个404错误。。。正在尝试加载
http://olddomain.com
导致在文件名之前增加一个//-
http://olddomain.com/otherfile.php
变为
http://newdomain.com//otherfile.php
…进行了另一次更新,将修复双重
/
问题,如您所见,它没有重定向
http://olddomain.com/excludedfile.php
现在。对于未来的访问者:上面的代码非常完美-双斜杠问题和404错误是因为我以前的错误重定向代码和我的服务器需要自定义DocumentRoot。