无法从拉拉维尔网址中删除索引.php?在 Ubuntu 14.04 中


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

那里我刚刚在 laravel 5.2 中创建了一个新项目。然后我成功地从 Windows 中的项目网址中删除了public/index.php它工作正常。但是当我在 var/www/html 中复制了 ubuntu 中的相同项目时,/var/www/html/myproject.并启用了 apache2 rewrite_mode。但是如果不在 url 中放置索引.php,它就不起作用。它仅在没有公共的情况下工作。 http:://localhost/myproject/index.php/cms(它工作正常)但是 http:://localhost/myproject/cms(它不起作用)???.有什么建议吗????我的代码是

路线.php

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

它很好我也已经将所有文件从公用文件夹剪切到根目录并编辑索引.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 as

<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 上,apache2.conf 通过设置 AllowOverride None 设置为不允许 .htaccess 覆盖:

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

您可以在 apache2.conf 中更改此设置,但不建议这样做。而是在站点的虚拟主机文件中执行此覆盖,即。网站可用/yoursite.com.conf. 像这样:

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

确保已启用重写模块,即 sudo a2enmod 重写。重新启动您的网络服务器,即。sudo service apache2 restart.

来源: 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.从公共文件夹中剪切这5个文件,然后粘贴到主项目文件夹上,这意味着公共文件夹的外侧...主项目/文件

2.粘贴后,打开索引.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';