メインドメイン(me.com
)があり、mom.com
フォルダーのサブディレクトリに母親のWebサイト(public_html
)のファイルをホストしているので、mom.com
はme.com/mom
。
私がやりたいのは、me.com/mom
への訪問者を邪魔することなく、mom.com
を介してサイトにアクセスしようとするとエラーが発生するようにすることです。
編集:エラーを修正しました!
これが理論です:
RewriteEngine on
RewriteCond %{HTTP_Host} mom.com$ [NC]
RewriteRule ^mom/ - [R=404,L]
一部のバージョンでは、上記が機能しない場合、このいトリックを行うことができます
RewriteEngine on
RewriteCond %{HTTP_Host} mom.com$ [NC]
RewriteRule ^mom/ /someurlthatdoesntexist [L]
404基金ではなく403禁制で問題ない場合は、Fオプションを使用できます。
RewriteEngine on
RewriteCond %{HTTP_Host} mom.com$ [NC]
RewriteRule ^mom/ - [F,L]
ただし、考慮すべきことがもう1つあります。 .htaccessファイルは最上位から下にスキャンされるため、mom.comに.htaccessファイルがある場合はそれらが優先されます。次に、.htaccessファイルに以下を追加しますin mom.com。これはファイルの最上部にあるはずです(RewriteEngine On
の直後)。
RewriteEngine on
RewriteCond %{HTTP_Host} !mom.com$ [NC]
RewriteRule . - [R=404,L]
追加された!
に注意してください。これは、ドメインがnot mom.comの場合に一致することを意味します。また、「すべてをキャッチ」を意味する.
にも注意してください。
- [R=404,L]
を必要に応じて他のパターンに置き換えます。
Stanとnitro2k01の両方のソリューションは、私にとってはうまくいきませんでした。
次は私のために働いた:
# Place this .htacces file in /mom subdirectory
RewriteEngine On
RewriteCond %{HTTP_Host} ^www\.mom\.nl$ [NC]
RewriteRule ^(.*)$ - [L,R=404]
Public.wwwフォルダーで、以下を使用して機能させました。
RewriteEngine On
RewriteCond %{HTTP_Host} ^www\.mom\.nl$ [NC]
RewriteRule .? mom/%{REQUEST_URI} [L,QSA]
これが他の人に役立つことを願っています。
.htaccessでこのルールを使用できます。
RewriteEngine on
RewriteCond %{HTTP_Host} ^(www\.)?me\.com [NC]
RewriteRule ^mom/.*$ /some-error-page.html [L,R]
入力のおかげで、私はあなたの助けに基づいてそれを機能させましたが、少し異なる方法で:BlueHost(my Host)でこの記事を見つけました。
私が使用したコードは次のとおりです。
Options +SymLinksIfOwnerMatch
RewriteEngine On
RewriteCond %{HTTP_Host} ^(www.)?me.com$ [NC]
RewriteCond %{REQUEST_URI} ^/mom/(.*)$
RewriteRule ^(.*)$ - [L,R=404]
REQUEST_URI
が欠けていたと思います。
これは、public_html
または/mom/
サブディレクトリの.htaccessファイルで機能します。