2010-12-03 9 views
2

私のフォームを別のアドレスにリダイレクトしたいのですが、thanks-a.html、thanks-b.htmlなど...(別の目標を設定するにはgoogle analyticsの場合)、ページのコンテンツは常に同じになります。apache/htaccess:どのファイル名でも1つのコンテンツを表示する方法

私の考えは、フォルダ内にindex.htmlページを持ち、存在しないファイル名があればindex.htmlを表示する.htaccessファイルです。誰かがhtaccessを書くのを助けることができますか?

ありがとうございました!

ErrorDocument 404 /yourFolder/index.html 

mod_rewriteのが良い意味的だろうが、それはこれよりも簡単ではありません。これを行うには

答えて

6

まず、あなたの.htaccessファイルで

をmod_rewriteのを有効にしていることを確認し、次を置く:

のindex.htmlを表示したいページです
RewriteEngine On 
RewriteRule (.*) index.html [L] 

。 Andrewが言うこととは違うのは、あなたが404ページではなく特定のページにすべての人をリダイレクトしたいと思うからです。 HTTPステータスが必要な場合は、404へのリダイレクトはうまくいきますが、この場合、実際のコンテンツを表示したいと思うと思います。この場合、リクエストには必ず200応答が必要です。

2

一つの方法は、ちょうど404のためのErrorDocumentを使用することです。

+0

これは「成功」ページを404にします。 –

+0

これは私が実際にこのようにすることをお勧めしない理由です。しかし、「要件」は、存在しないファイルの特定のページを表示することでした。より良い解決策、IMOは、少なくとも特定のパターン(thanks - (。*)。htmlのような)を持ち、他のレスポンダが示唆しているようにmod_rewriteを使用するでしょう。 – Andrew

0

htaccessファイルにRewriteRuleを使用できます。これは、存在しないパスをリダイレクトする非常に基本的なものです。

RewriteEngine On 
RewriteBase/
RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteRule . /yourfile.html [L] 

これはWordPressの条件です。

これをさらに修正するには、ファイルに「thankyou-」などの接頭辞が付いていることを確認します。 htaccessのヒントとテクニックの包括的なリストは、ここで見つけることができます:http://perishablepress.com/press/2006/01/10/stupid-htaccess-tricks/#wor2

関連する問題