2017-04-06 11 views
0

多くの情報がこれをほぼ解決しますが、まだそれほど大きな問題はありません。ライブサイトのフロントエンドをサブフォルダ(/ adminではなく)に書き換え、ローカルホスト上には何も書き換えません

サイトにはフロントエンド(基本的にはすべてルート)があり、管理パネルは/adminにあります。基本的なもの。

サイトは、私がローカルに何もがまったくリダイレ​​クトされませんしたいhttp://foo

上でローカルにhttp://www.example.com上でリモートで実行され、。 ライブサーバー

私はちょうどトラフィックがサブフォルダ/coming_soonが、管理パネルには、リダイレクトにリダイレクトフロントエンドをしたいです。クライアントはadminで作業を開始できますが、一般公開されるのは/coming_soonのコンテンツのみです。 (さらに、私はadminのログインページを推測しますが、それは問題ありません)。私が来た一番近い

されました:

<IfModule mod_rewrite.c> 
    RewriteCond %{HTTPS} !=on 
    RewriteCond %{HTTP_HOST} !=foo 
    RewriteRule ^$ /coming_soon [L] 
</IfModule> 

しかし、それは私が感謝http://www.example.com/index.php

あなたの助けを直接参照して「本物」のフロントエンドを打ってみましょう。

答えて

1

うまくいけば、私はあなたの質問は、右^^アクセスしていないか、可能であれば誰にか...なければならない/管理部分、わからなかったが、次はあなたの問題についての私のテイクで得た:

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] 

さらに、ロケーションディレクティブを設定し、特定のIPからの入力/管理のみを許可することができます。

<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を直ちに保存するように指示します。

+0

ありがとうございます。それはうまくいきませんでしたが、正しい軌道に乗ってくれました。私は私のために働いた答えとして投稿します...誰も管理者、ローカルまたはリモートにアクセスすることができます。 – mayersdesign

+0

ああ、k。 '/ admin'のような特定の場所にアクセスできないバージョンを探している人が増えていると思うので、私は誰でもあなたが管理者にアクセスできるはずだと思った;)はそのまま私の答えを残すだろう。しかし、** update **のように簡単な答えを追加します。 –

+0

ありがとう、努力のためにupvote! :) – mayersdesign

0

...これを改善したり、よりエレガントにすることができれば、私は聞いてみたい!

RewriteCond %{HTTP_HOST} !=foo 
RewriteCond %{REQUEST_URI} !/coming_soon 
RewriteCond %{REQUEST_URI} !/admin 
RewriteRule ^(.*)$ /coming_soon [R=302,R] 
関連する問題