[英]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.