簡體   English   中英

無法從laravel網址中刪除index.php? 在Ubuntu 14.04中

[英]unable to remove index.php from laravel url ?? in ubuntu 14.04

在那里,我剛剛在laravel 5.2中創建了一個新項目。 那么我已經在Windows中從項目的URL成功刪除了public/index.php ,它工作正常。 但是,雖然我在var / www / html中的ubuntu中復制了與/var/www/html/myproject相同的項目。 並啟用apache2 rewrite_mode。 但是,如果不將index.php放在url中,那就沒有用。 它僅在不公開的情況下有效。 http:://localhost/myproject/index.php/cms (工作正常)但http:://localhost/myproject/cms (無效)??? 有什么建議嗎???? 我的代碼是

route.php

define( "PREFIX", "cms" );
Route::get(PREFIX . '/login', 'Auth\AuthController@getLogin');

也很好,我已經將所有文件從公用文件夾剪切到根目錄並編輯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>

我遇到了這個問題,並在http://laravel.io上找到了解決方案。

在Apache 2.4.7上,通過設置AllowOverride None來將apache2.conf設置為不允許.htaccess覆蓋:

<Directory /var/www/>
    Options Indexes FollowSymLinks
    AllowOverride None
    Require all granted
</Directory>

您可以在apache2.conf中更改它,但是不建議這樣做。 而是在您網站的VirtualHosts文件中執行此覆蓋,即。 網站可用/ yoursite.com.conf。 像這樣:

<Directory /var/www/html/yoursite.com/laravelappinstall/public/>
    Options Indexes FollowSymLinks
    AllowOverride All
    Require all granted
</Directory>

確保已啟用重寫模塊,即。 sudo a2enmod重寫。 重新啟動您的Web服務器。 sudo服務apache2重新啟動。

來源: http//laravel.io/forum/09-15-2015-removing-indexphp-from-url-laravel-5116

•轉到主項目/公共>>

a.  .htacess
b.  favicon.ico
c.  index.php
d.  robots.txt
e.  web.config

1.從公共文件夾中剪切這五個文件,然后粘貼到主項目文件夾中,這意味着公共文件夾的外面…mainproject / files

2.下一步粘貼后,打開index.php,修改

•require __DIR__.'/…/bootstrap/autoload.php';  to
•require __DIR__.'/bootstrap/autoload.php';

modify

 $app = require_once DIR.'/../bootstrap/app.php'; to
 $app = require_once DIR.'/bootstrap/app.php';

暫無
暫無

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

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