拡張子を非拡張子の URL にリダイレクトし、requestedfilename + .phpを表示する.htaccessファイルがあります。条件の(.*)部分でうまく機能します。
domain.com/file.htmlまたはdomain.com/file.xmlと入力すると、 file.phpが表示され、URL はdomain.com/fileのようになります。
式から .js や .css などの拡張子を除外する方法を知りたいだけです。それらを他のphpファイルにリダイレクトしたくありません。
(.*!.(js|css))の代わりに(.*)のようなことを試しましたが、有効な解決策が見つかりません...
現在のコードは次のとおりです。
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
#
# to display the name.php file for any requested extension (.*)
#
RewriteRule ^(.*)\.(.*) $1\.php
#
# to hide all type of extensions (.*) of urls
#
RewriteCond %{THE_REQUEST} ^[A-Z]+\s.+\.(.*)\sHTTP/.+
RewriteRule ^(.+)\.php $1 [R=301,L]
#
# no extension url to php
#
RewriteCond %{REQUEST_FILENAME}.php -f
RewriteCond %{REQUEST_URI} !/$
RewriteRule (.*) $1\.php [L]
</IfModule>