我有一个 Android 应用可以加载脚本http://example.com/apps-support/ads/ads.php?appName=my_app(my_app
可能会改变)。几天前,我的托管服务提供商对服务器进行了一些更改,上面的脚本开始返回301 永久移动状态。现在,当我请求我的脚本时,它会返回301 永久移动状态,然后重定向到根目录(https://example.com?appName=my_app)。为什么会发生重定向?
Android 应用程序中的逻辑会拦截此重定向并尝试打开此 URL(之前,它工作正常,因为没有重定向)。由于我无法更新应用程序来修复此问题(即更改http到https)。我的提供商由于某种原因也无法修复此问题。因此,我认为唯一的解决方案是修改.htaccess文件。因此,我希望服务器将我的请求重定向到https同时返回(覆盖)状态200, 如下所示:
是否可以?
我的.htaccess
文件位于根目录中:
Options +FollowSymLinks
RewriteEngine On
RewriteCond %{QUERY_STRING} ^appName=(.*)$
RewriteRule ^http://example.com/apps-support/ads/ads.php$ https://example.com/apps-support/ads/ads.php?%{QUERY_STRING} [R=301,L]
不幸的是,它不起作用。如能提供任何帮助,我将不胜感激。
答案1
最后,我的托管服务提供商帮助我解决了这个问题。我必须修改我的.htaccess
文件,如下所示:
RewriteCond %{SERVER_PORT} !^443$
RewriteCond %{REQUEST_URI} !^/apps-support/ads/ads.php1$
RewriteRule (.*) https://example.com/$1 [L,R=301]
现在一切都按预期进行。