Apache
が「admin-」パターンで始まる場合、または同じuriのhttpsへの「admin/user/login」リダイレクトを含む場合、どうすればURI
を強制できますか。
例えば:
URIが次の場合:
http://examplesite.com/admin-2dns24dw
リダイレクト先:
https://examplesite.com/admin-2dns24dw
そして、URIが次の場合:
http://examplesite.com/en/admin/user/login/msg
リダイレクト先:
https://examplesite.com/en/admin/user/login/msg
そして、このパターンのいずれも持たないhttps URI
がある場合は、同じURL
のhttpにリダイレクトする必要があります。
例えば:
URIが次の場合:
https://examplesite.com/fa/dashboard
リダイレクト先:
http://examplesite.com/fa/dashboard
**更新**
私は試した:
RewriteCond %{HTTPS} !=on
RewriteCond %{THE_REQUEST} admin-|admin/users/login [NC]
RewriteRule ^(my) https://%{HTTP_Host}%{REQUEST_URI} [NC,R=301,L]
しかし、それはうまくいきませんでした。
どうしたの?
これはmod_rewrite
を使用すると非常に簡単です。
RewriteEngine On
RewriteCond %{HTTPS} !=on
RewriteRule ^(foo|bar)$ https://%{SERVER_NAME}%{REQUEST_URI} [L,R]
これにより、RewriteRule
のパターンに一致するURLがHTTPS経由で同じURLに書き換えられます。
mod_alias --Apache HTTP Server リダイレクトディレクティブを試すことができます。
Example:
Redirect /service http://foo2.example.com/service
*更新*
Redirect /admin-2dns24dw https://examplesite.com/fa/dashboard