0

私のウェブサイトには次の.htaccessファイルがあります。

Options +FollowSymlinks
RewriteEngine On
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.+)$ /$1.php [R=301,L,QSA]

これは、URL「hello」と「hello.php」が機能するという点で機能します。しかし、私がやりたいのは次のとおりです。

  1. 'hello.php'から.phpを削除し、'hello'にリダイレクトします。
  2. 末尾のスラッシュ(存在する場合)を削除(およびリダイレクト)します。

これはどのように行うことができますか?とても簡単だと思います。

編集:私はこれに取り組んでおり、「hello.p」を参照した場合、および「hello /」を参照した場合、リダイレクトループもあります。

4

1 に答える 1

0

現在のルールは、.php拡張子を持つルートに 301 リダイレクトするように Apache に指示しています。

これを防ぐにはR=301、フラグ リストから を削除する必要があります。

于 2013-02-16T19:46:59.460 に答える