0

私はこのスレッドを読んで、自分のサイトの任意の URL を実際に取得し、それを小文字に変換するメソッドを読みました。次に、それを使用し、必要に応じて変更して、URL の最後の部分が変更されないようにすることを計画していました (そのため、PHP の Get 変数は本来の状態のままにすることができますが、ディレクトリであるすべてのものは変更されます)。サーバー側で小文字に変換されます)。

残念ながら、500 内部サーバー エラーが発生します。

そのため、1 つまたは 2 つの例があります。

www.domain.com/FirstDirectory1/ThisDirectory2/page.php?var=sdmkfsDFLMSD

になる

www.domain.com/firstdirectory1/thisdirectory2/page.php?var=sdmkfsDFLMSD

また

www.Domain.com/firstdirectory1/ThisDireCTory2/Page.php?var=sdmkfsDFLMSD

になる:

www.domain.com/firstdirectory1/thisdirectory2/Page.php?var=sdmkfsDFLMSD

4

1 に答える 1

0

最初に、このディレクティブを構成 (ファイルではなく)tolowerに追加して、外部関数をコンテキストに含める必要があります。<virtualhost>.htaccess

RewriteMap lc int:tolower

次に、あなたの .htaccess

   RewriteEngine On
   RewriteCond %{REQUEST_URI} [A-Z].+/.+\.php
   RewriteRule (.+)(/.+\.php)$ ${lc:$1}$2 [NC,R=301,L]

Apache では大文字と小文字が区別されるため、example.com/Directory/ と example.com/directory/ は異なる場所を指すことに注意してください。上記のディレクティブを使用して Dir/ という名前のディレクトリがある場合、404 エラーが発生します。大文字と小文字を区別しないようにする場合は、htaccess の先頭に次のディレクティブを追加して CheckSpelling モジュールを有効にします。

CheckSpelling On
于 2013-04-22T23:50:09.373 に答える