拡張URLから拡張子のないURLにリダイレクトしたい。たとえば、/contact は /contact.php の内容を読み取る必要があります。これを達成するために、次のルールを使用します。
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME}.php -f
RewriteRule ^(.+)$ $1.php [L,QSA]
「id」という変数を持つ test.php というファイルがあります。/test/1 からの読み取りリクエストを test.php?id=1 にリダイレクトしたい
これを達成するために以下を使用します。
RewriteRule ^test/([0-9]+)/?$ /test?id=$1
何らかの理由で test/1 ファイルを呼び出すと、500 内部サーバー エラーが発生します。PHP拡張機能を非表示にするルールを削除すると、再び機能します
また、拡張子付きの URL で永続的なリダイレクトを強制するにはどうすればよいですか? たとえば、誰かが /contact.php に到達するために結びついている場合、/contact にリダイレクトする必要があります
ありがとう