7

index.php ページを非表示にして、ドメインだけを表示したいと思います。

これは .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 は引き続き表示されます

4

3 に答える 3

11

試してみてください、それは私のために働きます!AllowOverride Allhttpd.confに設定され ていることを確認してください

RewriteEngine On 

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

あなたのルールに正規表現の問題があります。私はあなたのルールを変更しました、そしてそれは私のために働きます:

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]
于 2013-02-06T16:43:53.893 に答える
6
RewriteRule ^(.*)index\.(html|php)$ http://%{HTTP_HOST}/$1 [R=301,L]
于 2014-07-15T05:30:12.170 に答える