0

サイト上の何百もの .htm ファイルを変更して、連絡先ページのみを表示するタスクを与えられました。ファイルを変更するのと同じように、.htaccess ファイルを使用して、「.htm」または「.html」を含むすべてのリクエストを contact.htm ページに強制することを考えています。

私は .ht_access ファイルについて非常に限られた知識しか持っておらず、index.php を介してすべてのリクエストを強制するファイルは、書き換え条件の 1 つがファイルが本物かどうかを確認することであるため、機能していません。

アドバイスやヒントをいただければ幸いです。

 // My .htaccess rules at the moment:
 RewriteCond %{REQUEST_FILENAME} !-f
 RewriteCond %{REQUEST_FILENAME} !-d
 RewriteRule ^(.*)$ contact.htm [NC,L]
4

2 に答える 2

1

次のようなことを試すことができます:

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d

RewriteRule ^[^\.]*\.htm$ contact.htm [NC,L]

.htmこれにより、末尾がcontact.htmに置き換えられます。

編集:間違いを犯し、チェックして修正しました

于 2013-01-23T19:14:17.920 に答える
0

SEO を維持し、リンクの腐敗 (これは悪いことです) を防ぎたい場合は、古い HTML ファイルが有効でなくなったことをクライアントに知らせる必要があります。

RedirectMatch 301 ^.*html?$ http://example.com/contact.html

編集:興味深い補足として、410 を返す方がより適切な応答である可能性があります

于 2013-01-23T19:19:04.813 に答える