2017-04-16 131 views
1

我想改写这个网址:sample.com/panel/index.php/api/users?page=1sample.com/panel/api/users?page=1(删除index.php) 这里是我.htaccess文件:laravel 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> 

但就是不行!为什么?

我从Apache2的2.4版本在Ubuntu使用

回答

1

你检查mod_write是否开启?:sudo a2enmod rewrite

你检查虚拟主机是否被允许使用的.htaccess?在虚拟主机配置中需要AllowOverride all

+0

是的,两者都是正确的! – MrUnknow

+0

Laravel被放置在一个子目录中?你可以设置一个'RewriteBase/panel /'让mod_rewrite知道在那里开始重写。 – Dygnus