2016-08-22 9 views
0

私は複数のvhostを持つサーバーを実行しています。phpMyadminはanydomain.com/phpmyadminからアクセスできる別名として設定されています。 .htaccessリダイレクトルールを使用して、のserver-admin-urlにphpmyadminがアクセスされていない場合、訪問者は、たとえばGoogleにリダイレクトされるようにします。htaccess hostnameがNOTの場合はリダイレクト

正しいURLは次のようになります。https://server.domain.com:9090/phpmyadmin

誰もが、私を助けてくださいもらえますか?

ありがとうございます!

答えて

1

最も簡単な方法は、あなたは「私はあなたを見てもう一度あなたの質問を読んで、これは

RewriteEngine On 
RewriteCond %{HTTP_HOST} !^server.domain.com$ [NC] 
RewriteRule ^(.*)$ http://www.google.com/$1 [L,R] 

たぶん、あなたはまた、ポートを確認したい、そして

RewriteCond %{SERVER_PORT} !^9090$ [OR] 
RewriteCond %{HTTP_HOST} !^server.domain.com$ [NC] 
RewriteRule ^(.*)$ http://www.google.com/$1 [L,R] 

更新

を使用して行うことができますhttpからhttpsに切り替えようとしています。

のVirtualHostをHTTPSに設定されている場合は、あなたがどのようにVirtualHost matching works

に特に注意を払う必要があります私は私がhttpsがオフの場合は、チェックを追加することをお勧め、一般的な要求がHTTPから到着するとします。

RewriteCond %{HTTPS} !=on [OR] 
+0

こんにちは、フリーデフ。どうもありがとう。 phpMyadminが別のホストにロードされていると、リダイレクトがうまく動作します。しかし、単純にserver.domain.com/phpmyadminを使用すると、つまり9090ポートがなくても、それはまだロードされます。 私の主な問題は、ポートがなければ、正しいSSL証明書を取得できないことです。ここで最善の解決策は何ですか? – zkvvoob

+0

本当の疑問は、どのように私は二つの条件を "どちらか - または - "として含めるかということです。私は最初にポートを入れて、最後に '[OR]'を追加しようとしましたが、うまくいかないでしょう。私は間違って何をしていますか? – zkvvoob

+0

@zkvvoob 2番目のルールを追加しようとしましたか?私の答えと同じですが、この場合、 'RewriteRule'の直前に' RewriteCond%{SERVER_PORT}!9090'だけを追加してください。それは正常に動作するはずです( '[OR]'を使用しないで) – freedev

関連する問題