1

.html バージョンをロードしようとしていることはわかっていますが、少なくとも確信があります。また、.htaccess ファイル内の何かだと思います。私はグーグルを検索することからいくつかの異なることを試しましたが、不足しています。基本的には、入力した名前の .html ファイルがない場合は、php ファイルに移動するように動作させたいと考えています。

これは可能ですか?

4

3 に答える 3

2

これを試して:

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.phpfoo

私はあなたが何を望んでいるのかよくわかりません。.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ます。

于 2012-07-25T03:07:28.083 に答える
1

htaccessで

RewriteEngine on 
RewriteRule ^eat$ eat.php [L]  
于 2012-07-25T03:06:56.913 に答える
1

使用するMultiViews

これを apache 構成に追加します ( 、構成、または のいずれhttpd.confVirtualHost) .htaccess:

Options +MultiViews

これに書き換えを使用するのはやり過ぎcontent-negotiationです。

于 2012-07-25T03:07:11.157 に答える