2012-03-21 21 views
3

/testのあるURLパスをhttps://localhost/testにリダイレクトしたいと思います。また、URLは/テストであれば?= 123ユーザはURLが/試験/ TEST_DB /ユーザである場合https://localhost/test?user=123又はむしろにリダイレクトされなければならない?ID = 123 & PWD = 123すべてhttps://localhost/test/user/test_db/user?id=123&pwd=123特定のURLのhttpからhttpsへのApacheリダイレクトの設定

にリダイレクトされなければなりませんあらゆる種類のリクエストは、ルートフォルダ(http://localhost/accessdenied.html)で「アクセス拒否」と表示されているHTMLページにリダイレクトする必要があります。

ApacheでRedirectMatchを使用するにはどうすればよいですか?私は何かを試しました

RedirectMatch permanent ^test/(.*)$ https://localhost/test/$1 

これはうまくいきませんでした。

答えて

1

これはServerFaultの質問として優れているのだろうかと思います。とにかく


私はあなたに、RedirectMatchでこれを達成することができますかわからないが、私はあなたがModRewriteでこれを行うことができますどのように知っていますか:

RewriteEngine On$ 
RewriteCond %{HTTPS} off$ 
RewriteRule ^/bla https://%{HTTP_HOST}%{REQUEST_URI} [R=301,L]$ 

これがうまくいく、かなり一般的な形式であります任意のHTTPホスト(私はあなたのホストについての詳細はわかりません)として、URLの始めにblaと一致するものをリダイレクトします。引数やその他すべてで、まだHttpsではありません。

+0

これは私のためのトリックをした、そしてそれは質問に答えます。 @Abhishekに受け入れられているとマークされるべきだと思う。 – ahpoblete

0

は、これは私のApache HTTPD 2.2サーバー上の私のためだけで正常に動作:

RedirectMatch 301 ^(/someprefix[^/]*/.*)$ https://hostname$1 
関連する問題