问题描述
我已经将Laravel 7.26.0应用程序上传到了我的VPS(带有Apache网络服务器的Ubuntu 18.04)。
我无法通过浏览器访问index.PHP。
浏览器保持空白。没有错误消息。
已执行故障排除测试:
测试1:访问另一个文件,然后访问实际位于其/ public文件夹中的失败应用程序上的index.PHP:
结果:
我可以通过[ip-address:] [虚拟端口] /test.txt访问它。 这应该意味着Apache已启动并正在运行,并且能够通过虚拟端口将用户路由到应用程序文件夹[public]。
结果:
Works,要访问新创建的index.PHP,请注意,不再存在具有特定Laravel内容的原始setuop的index.PHP。这项测试的价值非常低,因为它只能证明Apache可以正确地将虚拟主机路由到正确的文件夹,而不能证明Laravel可以将所有从index.PHP传入的呼叫重定向到正确的路由。
测试3:直接在服务器上创建Laravel应用。
结果:
它可以直接在服务器上创建应用程序并访问其index.PHP页面。
我的设置:
已启用重写模块:
sudo a2enmod rewrite
sudo service apache2 restart
对Laravel应用的调整权限:
sudo chown -R Trader:www-data 1_sandBox
find 1_sandBox -type f -exec chmod 644 {} \;
find 1_sandBox -type d -exec chmod 755 {} \;
sudo chgrp -R www-data 1_sandBox/storage 1_sandBox/bootstrap/cache
sudo chmod -R ug+rwx 1_sandBox/storage 1_sandBox/bootstrap/cache
为虚拟主机添加了设置:
文件:[/etc/apache2/sites-enabled/000-default.conf]
<VirtualHost *:8080>
DocumentRoot /var/www/laravel/1_sandBox/public
ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>
<Directory /var/www/laravel/1_sandBox/public/>
Options Indexes FollowSymLinks Multiviews
AllowOverride All
Order allow,deny
Allow from all
Require all granted
# RewriteEngine On
</Directory>
在Ports.conf中添加了端口:
文件:[/etc/apache2/ports.cont]
Listen 8080
<IfModule ssl_module>
Listen 443
</IfModule>
<IfModule mod_gnutls.c>
Listen 443
</IfModule>
laravel apps公共文件夹中的.htaccess:
<IfModule mod_rewrite.c>
<IfModule mod_negotiation.c>
Options -MultiViews -Indexes
</IfModule>
RewriteEngine On
# Handle Authorization Header
RewriteCond %{HTTP:Authorization} .
RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}]
# Redirect Trailing Slashes If Not A Folder...
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_URI} (.+)/$
RewriteRule ^ %1 [L,R=301]
# Send Requests To Front Controller...
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^ index.PHP [L]
</IfModule>
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)