[英]Laravel css and js gives a page not found, avoid specify index.php
我最近购买了一个VPS,并试图在那里部署一个可以在localhost完美运行的个人laravel项目。
我要做的是将所有项目打包并在VPS(/ var / www /)上解压缩。 我已经安装了LAMP,并创建站点配置(/etc/apache2/sites-available/anuncios.com.conf)并启用了它(在/ etc / apache2 / sites-available上创建链接),如下所示:
<VirtualHost *:80>
ServerName 137.94.162.235
DocumentRoot "/var/www/anuncios.com/public/index.php"
<Directory "/var/www/anuncios.com/public">
AllowOverride all
</Directory>
</VirtualHost>
这是一个laravel 5.1.26,在公共目录下带有tipycal .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]
</IfModule>
该站点可以正常运行,但是没有加载.js或.css文件之类的资源。 检查链接,例如:
http://137.94.162.235/css/externos/bootstrap.min.css
我收到了Laravel错误:404 Uups,找不到页面。
请帮助使其工作吗?
所有权是1000:apache2,并且许可权与我的本地主机中的许可权相同(除非要确定,公共为777,所以除外)。
编辑 :我遵循了Huzaib的建议,现在加载了所有内容,剩下的问题是现在我必须将站点定位为137.94.162.235/index.php
否则137.94.162.235
无法正常工作。
在您的apache
配置中, DocumentRoot
必须是目录而不是文件。
DocumentRoot "/var/www/anuncios.com/public/"
进行建议的更改,然后重新启动apache2 service
。
解决了,
首先,我遵循Huzaib Shafi的回答,并更改了/etc/apache2/sites-available/anuncios.com.conf
将DocumentRoot更改为公用文件夹(而不是index.php)。
最后,为了避免指定index.php,我必须从命令行启用apache mod rewrite:
a2enmod rewrite
这使apache可以遵循public/.htaccess
一些指令。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.