很多信息几乎解决了这个问题,但是没有什么能够解决这个问题。
该网站有一个前端(基本上都是根目录),一个管理面板位于/admin
。基本的东西。
该网站在http://www.example.com上远程运行,在http://foo
上本地运行我根本不需要本地重定向。
在实时服务器上,我只想将前端流量重定向到子文件夹/coming_soon
,但管理面板上没有重定向。因此,客户端可以开始使用管理员工作,但公众只会看到/coming_soon
中的内容。 (另外我猜管理员登录页面,但那很好)。
我最近来的是:
<IfModule mod_rewrite.c>
RewriteCond %{HTTPS} !=on
RewriteCond %{HTTP_HOST} !=foo
RewriteRule ^$ /coming_soon [L]
</IfModule>
但那让我击中了真实的&#34;前端直接浏览到http://www.example.com/index.php
非常感谢您的帮助。
答案 0 :(得分:1)
希望我的问题正确^^不确定/ admin部分,谁应该访问或者如果可能没有人或......但以下是我对您的问题的看法:
RewriteEngine On
#excludes HOST=foo and URI=/admin from rewrite to /coming_soon
RewriteCond %{HTTP_HOST} !^foo [OR]
RewriteCond %{REQUEST_URI} !^/admin
RewriteRule ^ http://www.example.com/coming_soon [R=301,L]
您还可以设置location-directive,并且只允许从特定IP输入/ admin。
<location /admin>
required ip 10.11.12.13
required ip 20.30.40.0/24
</location>
<强>更新强>
RewriteCond %{HTTP_HOST} !=foo
RewriteCond %{REQUEST_URI} !/(coming_soon|admin)
RewriteRule ^(.*)$ /coming_soon [R=302,L]
R = 302只是临时重写=赢得了目标位置的浏览器的缓存。 R = 301会告诉浏览器立即保存目标/coming_soon
。
答案 1 :(得分:0)
...如果有人能改善这一点,或者让它更优雅,我很乐意听到!
RewriteCond %{HTTP_HOST} !=foo
RewriteCond %{REQUEST_URI} !/coming_soon
RewriteCond %{REQUEST_URI} !/admin
RewriteRule ^(.*)$ /coming_soon [R=302,R]