PayPal订阅出现问题,在PayPal订阅配置文件中保留了旧的https://example.com域,如果不取消并重新订阅,则无法更改。
我现在所做的就是强迫所有的事情http://www.example.com所以http(s)://example.com301->http://www.example.com
这就是我现在拥有的。
贝宝试图提交一些订阅到https://example.com/payments/ipn.php它在https上做了301重定向到http://www.example.com,但是你在301重定向上丢失了post数据…
使用下面的代码,https://www.example.com可以工作,但是由于我需要https://example.com贝宝才能工作,所以我不确定如何在不重定向到http主机的情况下允许https域上的none-www(http://www.example.com
我添加了robots.txt重定向到disallow/on https,这是因为我不想在google上复制站点。
我希望这一切都有意义。

 RewriteCond %{HTTP_HOST} ^domain\.com
 RewriteCond %{REQUEST_URI} !^(/payments)
 RewriteRule ^ http://www.domain.com%{REQUEST_URI} [L,R=301]

 RewriteCond %{SERVER_PORT} ^443$
 RewriteRule ^robots\.txt$ robots_ssl.txt [L]

这是所有感兴趣的人的固定的htaccess!
    RewriteCond %{HTTPS} !=on
    RewriteCond %{HTTP_HOST} ^domain\.com
    RewriteRule ^ http://www.domain.com%{REQUEST_URI} [L,R=301]

    RewriteCond %{SERVER_PORT} ^443$
    RewriteRule ^robots\.txt$ robots_ssl.txt [L]
    RewriteRule %{HTTPS_HOST} ^domain\.com%{REQUEST_URI}

最佳答案

要筛选https,可以使用以下重写条件:

RewriteCond %{HTTPS} !=on  # if it's not HTTPS
RewriteCond %{HTTP_HOST} ^domain\.com
RewriteRule ^(.*)$ http://www.domain.com/$1 [L,R=301]

或者可以避免重定向,当它是post请求时,这样post数据就不会丢失:
RewriteCond %{REQUEST_METHOD} !=POST  # if it's not POST
RewriteCond %{HTTP_HOST} ^domain\.com
RewriteRule ^(.*)$ http://www.domain.com/$1 [L,R=301]

09-28 10:30
查看更多