我正在将webapp部署到digitalOcean droplet,它显示家庭路线就好了。我安装了依赖项,Apache conf指向laravel的公共文件夹,赋予www-data
权限,因此Apache可以使用该文件夹但是,当我尝试访问站点中定义的链接时,已经在路由中定义文件,例如/about
我收到404错误
为什么会这样呢?
Droplet运行Ubuntu 16.04,我有Apache和php7
我正在阅读这两篇文章:1和2但是没有运气
我的apache配置文件
<Directory /var/www/html/analizalabs/public>
Options Indexes FollowSymLinks Includes ExecCGI
AllowOverride All
Require all granted
</Directory>
我的网站 - 可用文件
ServerAdmin tecnofunk@cryptolab.net
DocumentRoot /var/www/html/analizalabs/public/
ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined
部分路线档案
Route::get('/','PagesController@home');
Route::get('/about','PagesController@about');
Route::get('/contact','PagesController@contact');
我的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}]
</IfModule>
权限如...
drwxrwxr-x 8 www-data dev 4096 Sep 9 21:58 public
其中dev
是我用来修改该目录中具有rw访问权限的文件的组。
答案 0 :(得分:3)
似乎未启用重写模块,您必须使用以下命令启用它:
a2enmod rewrite
注1:默认情况下,ubuntu
中未启用重写模块注意2:您可以在mac中检查启用的模块apache2ctl -M和apachectl -M(或两者中的httpd -M)