簡體   English   中英

使用Laravel 5.2在服務器上不起作用的路由

[英]Routes not working on server using Laravel 5.2

我正在將一個webapp部署到digitalOcean droplet,它顯示了home路由就好了。 我安裝了依賴項,Apache conf指向laravel的公共文件夾,賦予www-data權限,因此Apache可以使用該文件夾但是,當我嘗試訪問站點中定義的鏈接時,已經在routes文件中定義,例如/about我收到404錯誤。
為什么會這樣?
Droplet運行Ubuntu 16.04,我有Apache和php7。
我正在讀這兩個帖子: 12但沒有運氣
我的apache conf文件是

<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訪問權限的文件的組。

似乎重寫模塊未啟用,您必須使用以下命令啟用它:

a2enmod rewrite

注1:ubuntu默認不啟用重寫模塊

注意2:您可以在mac中使用apache2ctl -M和apachectl -M檢查已啟用的模塊(或兩者中的httpd -M)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM