2016-06-10 66 views
0

可見我已經檢查確保我已啓用mod_rewrite重新啓動我的網絡服務器。我的.htaccess似乎很好。我錯過了什麼?我的Laravel路線只能通過index.php

<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> 

我的虛擬主機如下:

<VirtualHost *:80> 
     ServerName cms.dev 
     ServerAdmin [email protected] 
     DocumentRoot /var/www/html/cms/public 
     ErrorLog ${APACHE_LOG_DIR}/error.log 
     CustomLog ${APACHE_LOG_DIR}/access.log combined 
</VirtualHost> 

回答

1

你已經創建了一個.htaccess文件,但實際上並沒有告訴你的虛擬主機「允許」的.htaccess覆蓋配置。換句話說,你還沒有啓用htaccess suppport。將以下內容添加到您的VirtualHost塊以啓用它:

<Directory "/var/www"> 
    AllowOverride All 
</Directory> 

根據您的要求更改目錄路徑。

+0

你達人!這工作。 –

+0

我很高興它有幫助。 :) –