私のウェブサイトの公開を意図していない部分にリンクしているホームページにリファラーをリダイレクトしようとしています。( http://www.example.com/my-private-page.html http://www.example.com にリダイレクト )
どうすれば.htaccessでそれを行うことができますか?
私のウェブサイトの公開を意図していない部分にリンクしているホームページにリファラーをリダイレクトしようとしています。( http://www.example.com/my-private-page.html http://www.example.com にリダイレクト )
どうすれば.htaccessでそれを行うことができますか?
mod_rewrite で apache 変数 %{HTTP_REFERER} を使用して、HTTP_REFERER と照合できます。
ここでは、http_referer をサイトの別のページにリダイレクトするための簡単なソリューションを提供しています。
RewriteEngine on
RewriteCond %{HTTP_REFERER} !^https?://(www\.)?mydomain\.com [NC]
RewriteRule ^protected_page\.html$ /another_page.html [NC,L,R]
RewriteCond は、HTTP_REFERER がmydomain.comでないかどうかをチェックし、リクエスト/protected_page.htmlを/another_page.htmlにリダイレクトします。
コードは root/htaccess ファイルで機能します。mydoman.com をドメイン名に置き換えるだけです。
このようなもの?
RewriteEngine On
RewriteRule ^my-private-page$ / [R]
ちなみに、これには mod_rewrite をインストールする必要がありますが、自分で Web サイトをホストしていない限り、おそらく既にインストールされています。
私はこれがうまくいくと思います:
RewriteEngine On
RewriteRule ^(http://www.example.com/)my-private-page $1 [L]
それとも my-private-page はフォルダーですか? 次に、そのフォルダー内に単純なリダイレクトを含むhtaccessファイルを配置します
リファラーの場合:
RewriteEngine on
RewriteCond %{HTTP_REFERER} example\.com [NC,OR]
RewriteCond %{HTTP_REFERER} example\.net [NC,OR]
RewriteCond %{HTTP_REFERER} example\.org
RewriteRule ^my-private-page$ /
または、次のようにすることもできます。
Options +FollowSymLinks
RewriteEngine on
RewriteCond %{HTTP_REFERER} yourstring\.com [NC]
RewriteCond %{REQUEST_URI} !^/my-private-page.html
RewriteRule /*$ http://www.example.com/ [R=302,L]