Apache 2.2 - “拆分”域名

时间:2013-09-03 09:30:12

标签: apache mod-rewrite redirect yourls

我对Apache很新,已经遇到了一个已经花了很多时间的问题,我甚至不确定它是否可能。

我有两台服务器和一个名为szop.in的域,它的第一台服务器有A条记录。在第一台服务器上,我正在运行名为YOURLS的URL缩短器,它位于szop.in/admin下。我希望第二台服务器提供给我的主页,因此我想将所有请求(例如szop.inhttp://subdomain.szop.in)重定向到第二台服务器,而不是http://szop.in/admin

这可能吗?

这似乎不是正确的解决方案,mod_rewrite让我有些头疼:

RewriteEngine On
RewriteCond %{HTTP_HOST} szop.in [NC]
RewriteRule !^/admin$ hxxp://other-domain.in [R=301,L]

我的想法是,因为我只需要一个URL来处理第一台服务器http://szop.in/admin,就可以将不以/admin开头的所有内容重定向到另一个域。

1 个答案:

答案 0 :(得分:1)

你几乎得到了它:

Options +FollowSymLinks -MultiViews

RewriteEngine On
RewriteBase /

RewriteCond %{HTTP_HOST} ^szop\.in$ [NC]
RewriteCond %{REQUEST_URI} !^/admin [NC]
RewriteRule ^ http://subdomain.szop.in%{REQUEST_URI} [R=301,L]

你不能在RewriteRule上使用这种否定,你在某些条件下使用它。

这应该可以执行您想要的操作,验证域名是szop.in还是文件夹不是/admin并重定向到subdomain.szop.in