如果URI以“admin-”模式启动,或者包含“admin / user / login”redirect到同一个uri的https,我该如何强制Apache 。
例如:
如果URI是:
http://examplesite.com/admin-2dns24dw
redirect到:
https://examplesite.com/admin-2dns24dw
如果URI是:
http://examplesite.com/en/admin/user/login/msg
redirect到:
https://examplesite.com/en/admin/user/login/msg
如果任何没有任何这种模式的https URI应该redirect到同一个URL http。
例如:
如果URI是:
https://examplesite.com/fa/dashboard
redirect到:
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]
这将通过HTTPS将任何与RewriteRule中的模式匹配的URL RewriteRule为相同的URL。
您可以尝试mod_alias – Apache HTTP Serverredirect指令。
Example: Redirect /service http://foo2.example.com/service
*更新*
Redirect /admin-2dns24dw https://examplesite.com/fa/dashboard