2016-06-23 4 views
1

無料のホスティングサイト000webhostでドメインをホストしています。存在しないすべてのファイルまたはフォルダを私のホームページにリダイレクトします。 、私が使用しているコードは次のとおりです。.htaccessを使用してファイルまたはディレクトリが存在しない場合、ホームページにリダイレクト

RewriteEngine on 
rewritecond %{http_host} ^domain\.com$ [nc] 
rewriterule ^(.*)$ http://www.domain.com/$1 [r=301,l] 

RewriteCond %{THE_REQUEST} ^.*/index.html 
RewriteRule ^(.*)index.html$ http://www.domain.com/$1 [R=301,L] 

RewriteCond %{REQUEST_FILENAME} !-f 
RewriteRule ^(.*)$ index.html 
  1. それは動作しますが、URLはホームページに変更されません。もし私が開こうとしているように、www.domain.com/blaa私はホームページにリダイレクトされますが、URLはまだwww.domain.com/blaaです。 www.domain.comに変更して欲しい。

  2. 私のルートフォルダに存在する有効なディレクトリを開こうとすると、ホームページにもリダイレクトされます。もし私がwww.domain.com/folderを開こうとしているのであれば、そのフォルダ内のファイルとディレクトリになるはずです。代わりにホームページにリダイレクトされ、ウェブアドレスはwww.domain.com/folderと同じです。

はまた、私はwww.domain.com

とWWWとのindex.htmlでウェブサイトを開くために上記の2つの規則を使用して保存しておきたい私を助けてください。

ありがとうございます。

答えて

0

要求がファイルやディレクトリのものと異なる場合は、あなたが使用することができますホームページにリダイレクトする、あなたの質問のタイトルを1として:

RewriteEngine on 

RewriteCond %{REQUEST_FILENAME} !-d 
RewriteCond %{REQUEST_FILENAME} !-f 
RewriteRule ^/[L] 

ます。また、ホームページに存在しない要求を書き換えるためにErrorDocumentディレクティブを使用することができます

ErrorDocument 404/
+0

返信いただきありがとうございます。あなたが私に提案したコードは動作しますが、まだURLはホームページに変更されず、入力した同じものを保持します。私がwww.domain.com/blaaを開こうとしているのと同様に、もちろん私のディレクトリには存在しません。それは私をホームページにリダイレクトしていますが、URLはまだ同じwww/domain.com/blaaです。 www.domain.comに変更できますか?私がドメイン名の後に.comを2回入力すると、私は404weウェブページに誘導されます。 –

関連する問題