php - PHP HTTP 重定向在 Azure 应用服务上不起作用
问题描述
当我的用户访问我的一个端点时,我试图将他们重定向到某个网站。 https://url-shortner-in.azurewebsites.net/openfb将指向 google.com
我的服务器使用 REST API 托管在带有 Slim Framework v4 的 Azure App Service 上。
这是我重定向用户的电话。
return $response
->withHeader('Location', 'http://www.google.com')
->withStatus(302);
它在我的本地 WAMP 服务器上运行良好。我被重定向到谷歌。
但是在 Azure 应用服务上上传后,代码不起作用。重定向后我看到一个空白页面。URL 保持不变(我的网站 URL,而不是 Google 的。)
Azure 是否存在任何错误配置?
我的 .htaccess
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^ index.php [QSA,L]
解决方案
我建议你在创建 webapps 时选择 windows 平台。
您可以尝试web.config
在 wwwroot 文件夹下创建文件,如果它不存在。如果您在部署 webapp 时可以找到此文件,则需要对其进行修改。
具体要添加或修改的内容是RewriterConfig
需要添加到web.config中。
格式如下:
<configSections>
<section name="RewriterConfig" type="URLRewriter.Config.RewriterConfigSerializerSectionHandler,URLRewriter" />
</configSections>
......
<RewriterConfig>
<Rules>
<RewriterRule>
<LookFor>^default/([0-9]+)/([_0-9a-z-]+)</LookFor>
<SendTo>11.aspx?id={R:1}</SendTo>
</RewriterRule>
</Rules>
</RewriterConfig>
更详细的可以参考以下两篇帖子:
推荐阅读
- virtualbox - VirtualBox 硬关机后无法启动 - NtCreateFile(\Device\VBoxDrvStub) 失败:0xc000000034 STATUS_OBJECT_NAME_NOT_FOUND) - 错误
- javascript - 使用 jQuery 在页面加载时将文本复制到输入字段
- reactjs - Bootstrap 列未按预期工作
- c# - Xero API - 多张发票和信用票据的单次付款
- maven - 如何将lib目录中的所有jar文件编译为openjdk9的maven pom.xml
- testing - 无法使用 jest 测试框架测试 LWC 内部的 setter/getter 方法
- microsoft-cognitive - LUIS API 调用“示例话语 - 查看标记示例”返回 404,但通过 API 测试控制台调用时返回 401
- python - python 在 matlab 中是否有相应的 digits() 和 vpa() 函数?
- gitlab - 如果在赛普拉斯 docker 容器中运行,赛普拉斯会中止 XHR 请求
- elasticsearch - Logstash 中的日志未正确解析