人力検索はてな
モバイル版を表示しています。PC版はこちら
i-mobile

.htaccessに関する質問です。

DirectoryIndex /index.php
order deny,allow
deny from all
allow from 各種携帯IP
ErrorDocument 403 http://ドメイン/pc/NG.html

上記のように携帯以外のIPからのアクセスは全てhttp://ドメイン/pc/NG.htmlへリダイレクトしています。
しかしPCからtestという文字列が入ったURLをリクエストされた場合はhttp://ドメイン/pc/OK.htmlへリダイレクトしたいです。
※携帯の場合はリダイレクトしません。

http://ドメイン/?q=testへのアクセスは/pc/OK.htmlへリダイレクト
http://ドメイン/?q=abctestdeへのアクセスは/pc/OK.htmlへリダイレクト
http://ドメイン/?q=tesへのアクセスは/pc/NG.htmlへリダイレクト
携帯からのアクセスは全て/index.php
サイトの構造上、?q=の後にどの文字列を入力しても/index.phpが表示される仕組みになっています。

PCからtestという文字列が入ったURLをリクエストされた場合のみhttp://ドメイン/pc/OK.htmlへリダイレクトするにはどうしたらよいでしょうか?

ご教示いただけると幸いです。
宜しくお願い致します。


●質問者: xptree
●カテゴリ:インターネット ウェブ制作
✍キーワード:.htaccess 403 ALL HTML http://
○ 状態 :終了
└ 回答数 : 1/1件

▽最新の回答へ

1 ● うぃんど
●60ポイント

deny from all ではじいてしまうと何もできなくなりますので条件判断の出来るmod_rewriteを用いるなどで対処することになります

DirectoryIndex /index.php
RewriteEngine On
RewriteCond %{REMOTE_ADDR} 携帯IP [OR]
RewriteCond %{REMOTE_ADDR} 携帯IP [OR]
RewriteCond %{REMOTE_ADDR} 携帯IP [OR]
RewriteCond %{REMOTE_ADDR} 携帯IP [OR]
RewriteCond %{REMOTE_ADDR} 携帯IP [OR]
RewriteCond %{REMOTE_ADDR} 携帯IP [OR]
RewriteCond %{REMOTE_ADDR} 携帯IP
RewriteRule ^.+$ - [L]
RewriteRule ^.+q=test.*$ http://ドメイン/pc/OK.html [L]
RewriteRule .* http://ドメイン/pc/NG.html [R=403]

単純にIPではじく場合よりも負荷がかかりますし、自ら穴を空けておくということにもなりますので、あまりお勧めはしません。開発時だけの利用に留めて、キッチリカッチリ削除しておくことをお勧めしておきます

関連質問


●質問をもっと探す●



0.人力検索はてなトップ
8.このページを友達に紹介
9.このページの先頭へ
対応機種一覧
お問い合わせ
ヘルプ/お知らせ
ログイン
無料ユーザー登録
はてなトップ