htacess删除'索引'在url的最后一部分(不是index.php)

时间:2015-08-18 10:04:13

标签: .htaccess laravel indexing

我的重写htaccess有问题。我已经在我的localhost上使用了htaccess,它可以运行。但为什么它在我的网站上失败了呢?

这是我的htaccess代码

<IfModule mod_rewrite.c>
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule api/(.*)/(.*)$ api/$1.php?request=$2 [QSA,NC,L]
</IfModule>

<IfModule mod_rewrite.c>
<IfModule mod_negotiation.c>
    Options -MultiViews
</IfModule>

RewriteEngine On

# Handle Front Controller...
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^ index.php [L]

# Handle Index...
RewriteCond %{THE_REQUEST} ^[A-Z]{3,9}\ /(.*)index($|\ |\?)
RewriteRule ^ /%1 [R=301,L]

我尝试访问http://www.mywebsite.com/admin/indexhttp://www.mywebsite.com/admin/index/并且找不到所说的页面。我只是想将网址的最后一部分上的索引删除为http://www.mywebsite.com/admin/ 我在我的localhost上使用了那个htaccess代码,并且它的成功..为什么它在我的服务器上失败了?

非常感谢

1 个答案:

答案 0 :(得分:1)

这样做:

Options -MultiViews
RewriteEngine On

# Handle Index...
RewriteCond %{THE_REQUEST} /index[?\s] [NC]
RewriteRule ^(.*?)index$ /$1 [L,R=302,NC,NE]

RewriteCond %{REQUEST_FILENAME} -f [OR]
RewriteCond %{REQUEST_FILENAME} -d
RewriteRule ^ - [L]

RewriteRule ^api/([^/]+)/(.*)$ api/$1.php?request=$2 [QSA,NC,L]

# Handle Front Controller...
RewriteRule ^ index.php [L]