laravel - 在反向代理 Laravel App 中不正确路由
问题描述
我已经配置了一个 Apache 服务器,它使用反向代理来显示一个在 laravel 中开发并安装在另一个 apache web 服务器上的 web 应用程序。假设该域myapp.app
工作正常,但是当我单击子域时,假设myapp.app/register
浏览器返回myapp.appregister/
.
目前我已经配置了我的网络服务器,如下所示:
<IfModule mod_ssl.c>
<VirtualHost *:443>
SSLEngine On
ServerName myapp.app
<Proxy *>
Order deny,allow
Allow from all
</Proxy>
<Location "/">
RequestHeader set X-Forwarded-Proto https
RequestHeader set X-Forwarded-Ssl on
RequestHeader set X-Url-Scheme https
</Location>
ProxyPreserveHost on
ProxyPass / http://172.31.0.234/
ProxyPassReverse / http://172.31.0.234/
Include /etc/letsencrypt/options-ssl-apache.conf
ServerAlias www.redes-erdica.tech
SSLCertificateFile /***.pem
SSLCertificateKeyFile /***.pem
</VirtualHost>
</IfModule>
<IfModule mod_ssl.c>
<VirtualHost *:80>
ServerName myapp.app
Redirect permanent / https://myapp.app/
</VirtualHost>
</IfModule>
并且内部 apache 服务器的配置文件除了 laravel 项目的位置之外没有其他配置。发生的一些奇怪的事件是,如果我手动输入myapp.app/register
它会将我发送到应该在的位置,那么为什么当我单击注册按钮时浏览器会直接向我发送错误的信息?
此外,本地服务器中的应用程序正常工作。
解决方案
您需要修改位于 /etc/apache2 文件夹中的主配置文件,您需要更改 AllowOveride 部分的值,该部分指向您的应用程序所在的文件夹,并将其更改如下:
<Directory [your_app_folder]
Options ...
AllowOverride All
Require ...
</Directory>
推荐阅读
- loops - 计算移动值范围内的平均值和标准差
- android - 将 Gradle 从 2.14 升级到 4.6
- python - 从 Python 列表中删除一个 Numpy 对象
- mysql - BEFORE 触发器和 ON UPDATE CURRENT_TIMESTAMP 之间的性能差异 - MySQL
- bash - 从第二个文件 bash 有条件地读取
- c# - 如何为 DataGrid 中的每一行生成复选框或仅选择多行?
- ios - 如何在 CodingKeys 枚举中使用通用值(可编码协议)
- java - 从 learnjavaonline 学习 java 时卡住了
- c++ - DirectShow 手动图形内存泄漏
- python - 尝试安装 django-seo 时出现 AppRegistryNotReady 错误