there 我剛剛在laravel 5.2中創建了一個新項目。那麼我已經成功地從我的項目的網址中刪除public/index.php
在Windows中工作正常。 但是,當我在var/www/html裏的ubuntu裏拷貝同樣的項目爲/var/www/html/myproject
。並啓用apache2 rewrite_mode。但是,如果不將index.php放入網址中,它就無法工作。它的工作只有公共而已。 http:://localhost/myproject/index.php/cms
(正常工作),但 http:://localhost/myproject/cms
(它不工作)???任何建議? 我的代碼是無法從laravel url中刪除index.php?在Ubuntu 14.04
route.php
define("PREFIX", "cms");
Route::get(PREFIX . '/login', 'Auth\[email protected]');
它精細 還我已經削減公共文件夾中的所有文件複製到根目錄下,編輯index.php文件作爲
require __DIR__.'/../bootstrap/autoload.php';
通過
require __DIR__.'/bootstrap/autoload.php';
和
$app = require_once __DIR__.'/../bootstrap/app.php';
通過
$app = require_once __DIR__.'/bootstrap/app.php';
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>
似乎沒有加載mod_rewrite,或者'AllowOverride All'不在httpd.conf中,所以.htaccess文件被忽略。確保爲您的虛擬主機或默認主機配置設置[AllowOverride](http://httpd.apache.org/docs/current/mod/core.html#AllowOverride)。 – drew010
謝謝。它解決了! –