.html バージョンをロードしようとしていることはわかっていますが、少なくとも確信があります。また、.htaccess ファイル内の何かだと思います。私はグーグルを検索することからいくつかの異なることを試しましたが、不足しています。基本的には、入力した名前の .html ファイルがない場合は、php ファイルに移動するように動作させたいと考えています。
これは可能ですか?
これを試して:
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-s
RewriteCond %{REQUEST_FILENAME} !-l
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME}.php -s
RewriteRule ^.*$ %{REQUEST_URI}.php [L,QSA]
上記のルールでは、要求されたファイルのサイズが 0 であるか、ファイル、シンボリック リンク、またはディレクトリとして存在せず、.php
拡張子を持つ同じ名前のファイルが存在する場合、そのファイルに書き換え.php
ます。
これは事実上、何でもあり得る場所にsite.com/foo
書き換えます。site.com/foo.php
foo
私はあなたが何を望んでいるのかよくわかりません。.html
存在しないファイルを拡張子にマップしたい場合は.php
、代わりにこれを試してください:
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-s
RewriteCond %{REQUEST_FILENAME} !-l
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)\.html$ $1.php [L,QSA]
これは、要求されたファイルが存在せず、 で終わる場合に.html
、ファイル名 ( を除く) を取得.html
し、拡張子に書き換えようとすることを示してい.php
ます。
htaccessで
RewriteEngine on
RewriteRule ^eat$ eat.php [L]
使用するMultiViews
これを apache 構成に追加します ( 、構成、または のいずれhttpd.conf
かVirtualHost
) .htaccess
:
Options +MultiViews
これに書き換えを使用するのはやり過ぎcontent-negotiation
です。