次のようなリンクがあります。
www.domain.com/page.php?id=1#info
これを取得するには、.php を非表示にしたいだけです。
www.domain.com/page?id=1#info
このため、次の .htaccess スクリプトを見つけました。
RewriteEngine on
# to make `/path/index.php` to /path/
RewriteCond %{THE_REQUEST} ^GET\s(.*/)index\.php [NC]
RewriteRule . %1 [NE,R=301,L]
RewriteCond %{THE_REQUEST} ^GET\s.+\.php [NC]
RewriteRule ^(.+)\.php$ /$1 [NE,R=301,L,NC]
RewriteCond %{REQUEST_URI} !\.php$ [NC]
RewriteCond %{REQUEST_FILENAME}.php -f
RewriteRule . %{REQUEST_URI}.php [L]
これはまさに仕事をし、出力するサファリを除くすべてのブラウザで動作します:
www.domain.com/page?id=1
#info はなくなりました。
ブラウザーはどのように .htaccess を異なるものとして解釈するのでしょうか? 誰かが正しい .htaccess ファイルを作成するのを手伝ってくれますか?