2017-07-18 13 views
4

ドメインgetvene.comをサブフォルダmainに開こうとしています。これは正常に動作します。しかし、/?secret-code=blablaと見なされると、getvene.com/s/blablaが必要です。 RewriteRuleは下部に表示されます。これとは別に、これらのルールは正常に動作します。しかし、一緒に、秘密のコードルールは効果がありません。何を変更する必要がありますか?.htaccessドメインはサブフォルダから開き、次に書き換えます

RewriteEngine on 

# --- BEGIN domain redirect --- 
RewriteCond %{THE_REQUEST} \ /+main/ 
RewriteRule ^main/(.*)$ http://getvene.com/$1 [L,R=301] 

RewriteCond %{THE_REQUEST} \ /+app/ 
RewriteRule ^app/(.*)$ http://app.getvene.com/$1 [L,R=301] 

RewriteRule ^(main|app)/ - [L] 

RewriteCond %{HTTP_HOST} ^(www\.)?getvene\.com$ [NC] 
RewriteRule ^(.*)$ /main/$1 [L] 

RewriteCond %{HTTP_HOST} ^(www\.)?app\.getvene\.com$ [NC] 
RewriteRule ^(.*)$ /app/$1 [L] 
# --- END domain redirect --- 

# --- BEGIN Secret Code redirect --- 
RewriteRule ^s/(.*) /?secret-code=$1 [L] 
# --- END Secret Code redirect --- 
+0

ルールは 'のRewriteRule^$ /メイン/ $ 1 [L]は'ルールので、書き換えパス(! 'L'フラグ)、終了します以下は適用されません。 – arkascha

+0

私は答えに必要なすべてのコードを提供できますか?それがうまくいくなら私はそれを受け入れます。 –

+0

問題の短い解決策は、最後のルールの場所を変更することです。これを他のルールの一番上に追加してみてください** ** RewriteEngine on ** line。 – starkeen

答えて

8

あなたは使用することができます(。*)

RewriteEngine on 

# --- BEGIN domain redirect --- 
RewriteCond %{THE_REQUEST} \ /+main/ 
RewriteRule ^main/(.*)$ http://getvene.com/$1 [L,R=301] 

RewriteCond %{THE_REQUEST} \ /+app/ 
RewriteRule ^app/(.*)$ http://app.getvene.com/$1 [L,R=301] 

# Secret Code redirect 
RewriteRule ^s/(.*) /?secret-code=$1 

RewriteRule ^(main|app)/ - [L] 

RewriteCond %{HTTP_HOST} ^(www\.)?getvene\.com$ [NC] 
RewriteRule ^(.*)$ /main/$1 [L] 

RewriteCond %{HTTP_HOST} ^(www\.)?app\.getvene\.com$ [NC] 
RewriteRule ^(.*)$ /app/$1 [L] 
# --- END domain redirect --- 
関連する問題