0

簡単な問題があります。以下のコードを使用して、アドレスバーの .php を削除しようとしました

Options +FollowSymLinks -MultiViews
# Turn mod_rewrite on
RewriteEngine On
RewriteBase /

# To externally redirect /dir/foo.php to /dir/foo/
RewriteCond %{THE_REQUEST} ^[A-Z]{3,}\s([^.]+)\.php [NC]
RewriteRule ^ %1 [R,L]

# To internally redirect /dir/foo/ to /dir/foo.php
RewriteCond %{DOCUMENT_ROOT}/$1.php -f
RewriteRule ^(.*?)/?$ $1.php [L]

それは機能しますが、最終的に「OBJECT NOT FOUND」と表示され続けます。この問題を解決するにはどうすればよいですか?

4

2 に答える 2

1

あなたはこれを使用しようとするかもしれません:

RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME}\.php -f
RewriteRule ^(.*)$ $1.php

例: あなたのページは www.yoursite.com/yourpage.php です。これで、「.php」なしで同じページにアクセスできます。

また

[R] パーマネント リダイレクトを削除して (エラーを削除するため)、ルールの拡張機能を維持することができます。

これがお役に立てば幸いです!

于 2013-06-25T05:01:35.050 に答える
0

.phpURL から拡張子を削除するだけの場合は、 を使用するだけOptions +MultiViewsで、書き換える必要はありません。

于 2013-06-25T05:01:51.833 に答える