.htaccess将index.php重定向到/

问题描述:

我想隐藏index.php页面并仅显示域.

I would like to hide the index.php page and just show the domain.

.htaccess是否可能?

Is this possible with .htaccess?

RewriteRule ^index\.php/?$ / [L,R=301,NC]

也尝试过:

RewriteEngine On
RewriteBase /
RewriteCond %{THE_REQUEST} ^[A-Z]{3,9} /index.php HTTP/
RewriteRule ^index.php$ http://example.com/ [R=301,L]

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]

index.php仍显示

index.php still shows

尝试一下,它对我有用!确保在httpd.conf

Try, It works for me! Make sure your have AllowOverride All set in httpd.conf

RewriteEngine On 

    RewriteCond %{REQUEST_URI} index\.php
    RewriteRule ^(.*)index\.php$ /$1/ [R=301,L]

您的规则中有一个正则表达式问题,我修改了您的规则,它对我有用:

There is a regex issue in your rules, I have modified your rules and it works for me:

RewriteEngine On
RewriteBase /
RewriteCond %{THE_REQUEST} index\.php
RewriteRule ^index\.php$ http://example\.com/ [R=301,L]

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index\.php [L]