1

私はウェブサイトを持っており、ビルダーは次のコードを私の .htaccess に入れました:

RewriteEngine On
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^([^\.]*)(\.php)?(\?*)$ index.php/$1$3 [L,QSA]

しかし、私も必要なのは: - ディレクトリでない場合はスラッシュを削除する - 拡張子.phpを削除する - URLにある場合はindex.phpを削除する

私は多くの提案を試みましたが、すでに .htaccess にあるコードにあると思います。

サイトを www にリダイレクトすることができました。URLで指定されていない場合

誰にもアイデアはありますか?私はアイデアがありません

4

1 に答える 1

0

既にあるルールの前に、次のルールを追加してみてください。

# remove trailing slash if not directory
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)/$ /$1 [L,R=301]

# remove index.php
RewriteCond %{THE_REQUEST} ^[A-Z]{3,}\ /(.*)index\.php/?([^\?\ ]*)
RewriteRule ^ /%1%2 [L,R=301]

# remove php extension
RewriteCond %{THE_REQUEST} ^[A-Z]{3,}\ /(.*)\.php($|\ |\?)
RewriteRule ^ /%1 [L,R=301]
于 2013-01-30T10:17:19.143 に答える