最近、.htaccessファイルを更新して、URLの.php 拡張子を非表示にしました。domain.com/indexにアクセスしようとすると、php ファイルが表示されます。
domain.com/index.phpと入力すると、 domain.com /index の URLにリダイレクトされ、.php ファイルも表示されます。
セキュリティ上の理由から、.php ファイルを表示するために、他のすべての拡張子を拡張子のない URL にリダイレクトしたいと考えています。私の問題は、.html .aspなどのよく知られた拡張子をリダイレクトするように.htaccessを構成できないことです。拡張子のないURLにaspx.shtmlなどを追加し、コンテンツとして表示されている.phpファイルを取得します。
私の .htaccess ファイルは次のようになります。
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
# php extension to no extension url
RewriteCond %{THE_REQUEST} ^[A-Z]+\s.+\.php\sHTTP/.+
RewriteRule ^(.+)\.php $1 [R=301,L]
# no extension to the .php file
RewriteCond %{REQUEST_FILENAME}.php -f
RewriteCond %{REQUEST_URI} !/$
RewriteRule (.*) $1\.php [L]
# this is for the index
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>