我有一个网站,其中一些区域使用https,但是我在将一些https网址更改为http网址时遇到了问题。这就是我需要的:
更改此网址网址
https://www.domain.com/somefile.php?PossibleGetParameters
到此:
http://www.domain.com/somefile.php?PossibleGetParameters
这就是我在.htaccess上的内容:
RewriteCond %{HTTPS} on
RewriteCond %{REQUEST_URI} !^(/somefile.php)
RewriteRule ^(.*)$ http://%{HTTP_HOST}%{REQUEST_URI} [R=301,L]
在这种情况下,所有https网址都会转为http,我只希望更改此特定网址。有什么方法可以解决这个问题吗?
答案 0 :(得分:0)
当然......只需从第二个条件中移除感叹号!
- 在该位置它会否定该规则。
最终规则是:
RewriteCond %{HTTPS} on
RewriteCond %{REQUEST_URI} ^/somefile.php
RewriteRule .* http://%{HTTP_HOST}%{REQUEST_URI} [R=301,L]
我已经简化了规则(因为你只需要一个URL)。
此规则可能无法立即生效,因为现代浏览器会缓存301重定向..因此浏览器可能会记住您以前的尝试。因此,在测试规则之前清除浏览器缓存并重新启动它(或尝试其他浏览器)。