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

时间:2014-01-08 07:34:54

标签: apache .htaccess mod-rewrite virtualhost vhosts

我目前正在将所有请求从olddomain.com重定向到我的Apache服务器newdomain.com - 它运行正常但我实际上只需要一个文件来加载,就像它在{{1}处一样}。

以下是重要的一点:

olddomain.com

我喜欢这个简单的<VirtualHost *:80> ServerName olddomain.com ServerAlias olddomain.com Redirect / http://newdomain.com/ </VirtualHost> 解决方案,因为它完全符合我的要求,即使我能理解它也很简单!但是如何做出异常,以便当某人/某事物进入Redirect / http://newdomain.com时,它会加载到预期的域名?到目前为止我找到的解决方案似乎是针对mod_rewrite设置的。如果mod_rewrite是必需的,我想我可以忍受它,但我宁愿不...

为什么我需要这个:我刚刚将我的应用程序提交给Apple,并在最后一刻决定我需要更改域名,这打破了应用程序的一个功能,因为它明确依赖于旧域名 - 由于对我的虚拟主机文件所做的更改,它不再看到它了。

1 个答案:

答案 0 :(得分:1)

您需要使用RedirectMatch来获取正则表达式功能:

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

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