【发布时间】:2017-08-10 19:15:04
【问题描述】:
我已经在运行 Ubuntu 和 php 7 的 AWS 服务器上部署了我的 Laravel 5.3 应用程序。我在 /etc/apache2/sites-available/000-default.conf 文件中创建了一个别名,如下所示:
Alias /myapp.dev /var/www/html/myapp/public/
<Directory "/var/www/html/myapp/public/">
Options Indexes MultiViews FollowSymLinks
AllowOverride All
Order allow,deny
allow from all
RewriteEngine On
RewriteBase /var/www/html/myapp/public/
</Directory>
但是当我尝试使用别名 52.xxx.xxx.xx/myapp.dev 访问时,我收到以下错误:
当我使用 public/ 目录的完整 url 访问它时,它可以正常工作
例如。 52.xxx.xxx.xx/myapp.dev/public/login
我已启用 a2enmod,我在 /public 目录中的 .htaccess 文件如下
<IfModule mod_rewrite.c>
<IfModule mod_negotiation.c>
Options -MultiViews
</IfModule>
RewriteEngine On
# Redirect Trailing Slashes If Not A Folder...
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)/$ /$1 [L,R=301]
# Handle Front Controller...
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^ index.php [L]
# Handle Authorization Header
RewriteCond %{HTTP:Authorization} .
RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}]
关于为什么我在我的 aws 服务器中获得 Route NotFoundHttpException 的任何想法,并且不要忘记提到在我的本地 Windows 机器中运行 php 5.6 也可以在虚拟主机上正常运行。非常感谢您的想法。提前致谢
【问题讨论】:
-
我不知道正确的解决方案,但我知道如果您在 url 中添加 index.php,您的问题临时性将得到修复
-
是的,你是对的。它也可以这样工作。但这不是我希望我害怕的解决方案。感谢您的反馈..
标签: php laravel .htaccess amazon-web-services ubuntu