我对Apache很新,已经遇到了一个已经花了很多时间的问题,我甚至不确定它是否可能。
我有两台服务器和一个名为szop.in
的域,它的第一台服务器有A
条记录。在第一台服务器上,我正在运行名为YOURLS的URL缩短器,它位于szop.in/admin
下。我希望第二台服务器提供给我的主页,因此我想将所有请求(例如szop.in
或http://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
开头的所有内容重定向到另一个域。
答案 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
。