将一些RewriteRule和RewriteCond组合在一起并防止重定向循环需要一些帮助。
案例是强制所有传入的请求到这些模式,以相同的模式重定向到https:// ...
http://www.domain.com/admin --> https://www.domain.com/admin
http://www.domain.com/something/wp-login --> https://www.domain.com/something/wp-login
http://www.domain.com/something/wp-admin --> http://www.domain.com/something/wp-admin
http://www.domain.com/something/else/wp-login --> https://www.domain.com/something/else/wp-login
http://www.domain.com/something/else/wp-admin --> https://www.domain.com/something/else/wp-admin
但真正的诀窍是我想在最少的陈述中实现这一目标。这是我到目前为止所做的,但它并不完全正确并在/ admin案例中创建重定向循环,并在“wp-”情况下失败。
RewriteCond %{HTTPS} !=on
RewriteCond %{REQUEST_URI} ^(/admin|wp-login|wp-admin) [NC]
RewriteRule ^(.*)$ https://www.domain.com$1 [R,L]
这里有任何指示。
干杯。
答案 0 :(得分:0)
上面的评论有助于摆脱重定向循环。我还试图通过多种方式简化前面的RewriteCond,但除了以上工作之外无法得到任何东西。
例如..为什么下面的RewriteCond不会更简单地做同样的事情..
RewriteCond %{REQUEST_URI} ^/(.*)admin/?$ [NC]
对我来说,这应该是以下所有条件的真实条件......
http://domain.com/admin
http://domain.com/admin/
http://domain.com/whatever/wp-admin
http://domain.com/whatever/wp-admin/
http://domain.com/whatever/somethingelse/wp-admin
http://domain.com/whatever/somethingelse/wp-admin/
但由于某些原因,wp-urls与该条件/模式不匹配。