2017-03-01 9 views
0

I以下のhtaccessファイルを持っている:htaccessファイルは、2つのサブディレクトリがrootに書き換え

RewriteCond %{HTTP_HOST} ^(www.)?domain.com$ 
RewriteCond %{REQUEST_URI} !^/site/v1/ 
RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteRule ^(.*)$ /site/v1/$1 
RewriteCond %{HTTP_HOST} ^(www.)?domain.com$ 
RewriteRule ^(/)?$ site/v1/ [L] 

は、だから私は、ブラウザ上に表示/site/v1一部せず、どちらかdomain.comまたはwww.domain.com、私はdomain.com/site/v1に直接移動アクセス。

は、しかし、私の問題はsite/v1フォルダの中に、ウェブサイトのCMSを含む、adminフォルダがあることであり、私はdomain.com/adminにアクセスするとき、それは/site/v1一部がブラウザ上に表示された状態で、domain.com/site/v1/adminにリダイレクトします。

フォルダにアクセスするにはどのようにすればいいですか?つまり、domain.com/adminにアクセスするとサブフォルダにアクセスしても表示されません。他のフォーマットでは

、私が持っている:
- 私はdomain.com/about
にアクセス - サーバー側では、私はdomain.com/site/v1/about
で実際よ - 私のブラウザでは、私はdomain.com/about
を参照してください - PS:ここaboutはパラメータであり、 - 私はにアクセス
:私はあまりにも持っている何

フォルダされていない、(コードの別の部分に)するRewriteCondディレクティブを経由して私のバックエンドに渡された(それは、フォルダと同じようにうまく動作します)されています
- サーバー側では、私はdomain.com/site/v1/admin
で実際よ - 私のブラウザに私はdomain.com/site/v1/admin

を参照してください私が欲しいもの:
- 最後の項目

「私は domain.com/adminを見る」ことにする前に、

ありがとう!

# force ssl 
RewriteEngine on 
RewriteCond  %{SERVER_PORT} ^80$ 
RewriteRule  ^(.*)$ https://%{SERVER_NAME}%{REQUEST_URI} [L,R] 

RewriteCond %{HTTP_HOST} ^(www.)?domain.com$ 
RewriteCond %{REQUEST_URI} !^/site/v1/ 
RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteRule ^(.*)$ /site/v1/$1 
RewriteCond %{HTTP_HOST} ^(www.)?domain.com$ 
RewriteRule ^admin/$ /site/v1/admin/ [L] 
RewriteRule ^(/)?$ site/v1/ [L] 

答えて

0

ベースURLを書き換えるための簡単な方法は、私たちにこのような書き換えルールです:

EDIT

はここで変更後の私の完全なのhtaccessファイルです。ただ追加し、このような追加のルール、あなたのadminディレクトリの問題を解決するために:

RewriteRule ^admin/$ /site/v1/admin/ [L] 
+0

RewriteRule ^$ /site/v1/ [L] 

は、あなたの答えをありがとう、それはまだ動作しません、それは私が試した(同じ動作をしますキャッシュ、さまざまなブラウザ、コンピュータのクリーニングなど)を実行してください。 完全なhtaccessファイルで投稿を編集しました。 – LVilasBoas

+0

どのCMSを使用していますか? – GeekBrett

+0

私はそれを自分で開発しました – LVilasBoas

関連する問題