purazumakoiの[はてなブログ]

技術メモから最近はライフログも増えてきてます。

.htaccess

パラメータつきurlのリダイレクト

Redirect permanent とか RedirectMatch permanent だと だめっぽくて RewriteCond %{QUERY_STRING} id=([0-9]{3})&name=([a-z]+)$ RewriteRule ^foo/index.html$ /foo/%2/%1.html? [R=301,L] ならいけるみたい。 パラメータ付きは %{QUERY_STRING} で処理し…

.htaccessで特定のディレクトリ内に来たらリダイレクトさせる(直下のindex.html以外)

要件 http://exsample.com/hoge/index.html → そのまま http://exsample.com/hoge/fuga1/以下 → http://exsample.com/piyo/ http://exsample.com/hoge/fuga2/以下 → http://exsample.com/piyo/ http://exsample.com/hoge/fuga3/以下 → http://exsample.com/p…

.htaccessで.htmlのファイルがなかったら.phpを表示する場合の例

参照 正規表現で[ ]を利用した時のハイフンの判定 « for WEB屋 .htaccessで.htmlのファイルがなかったら.phpを表示する場合の例 ハイフンの処理は「¥-」と書いても認識されない場合があるので 最後に書いたほうが良い ○ 良い例 RewriteEngine on RewriteCon…

apacheのリダイレクトの方法あれこれ

リダイレクトは例えば.htaccessで Redirect permanent /foo/ http://www.example.com/bar/ こんな風に書いたりするが apacheにmod_rewriteのモジュールが入っていれば、条件指定が出来るようになる つまりこんな書き方が出来るようになる。 # 機種判別用の変…

301リダイレクト

主に.htaccessに書くと思うんですが #301としてリダイレクト Redirect permanent /hoge/index.html /hoge/fuga/index.html って言う風にかきます。 他のサイトにリダイレクトしたいなら #301としてリダイレクト Redirect permanent /hoge/index.html http://…

特定のIPか、Basic認証を通過したものだけ閲覧を許可する

via ApacheのSatisfyを使って、ユーザ(Basic)認証とIPアドレスによるアクセス制御のどちらかでアクセスを許可する。 – FlatLabs Order Deny,Allow Deny from all Allow from 123.xxx.xxx.xxx AuthUserFile /usr/home/hogehoge/html/.htpasswd AuthGroupFile …

IE6はindex2.htmlを表示、その他はindex.phpを表示

http://exsample.com/ ってなアクセスできた時用 # スパム対策でIE6はindex2.htmlに RewriteCond %{HTTP_USER_AGENT} "MSIE.6\.0" RewriteRule ^$ index2.html [L] # IE6以外はindex.phpを実行となる RewriteCond %{HTTP_USER_AGENT} !"MSIE.6\.0" RewriteRu…

特定の国コードからきたらリダイレクトする

スパム対策の為 IE6から 日本以外 だったらindex2.htmlを表示するようにした。 アクセスしたURLが http://exsample.com/index.html とか http://exsample.com/index.phpなら の辺りで指定可能だったが http://exsample.com のようにルートを指定する時に適用…

RewriteCond の条件で複数の拡張子を指定する

index.htmlかindex.phpの場合SPフォルダのindex.html 、index.phpにリライトする RewriteCond %{REQUEST_URI} ^/index\.(php|html)$ RewriteRule ^(.*)$ /sp/$1 [R=301,L]

htaccessのRewriteCond %{REMOTE_ADDR} でサブネットマスクを指定

IPが日本のじゃなかったら云々ということをやろうとして本当はこんな感じで指定したかった RewriteCond %{REMOTE_ADDR} !^129\.60\.0\.0\/16$ でもサブネットマスクの使用はできないみたいなので わかりやすく書くと RewriteCond %{REMOTE_ADDR} ^129\.60.*$…

.htaccess <Files >の中ではRewriteRule は動かない?

なんかFilesの中では動かなかった。 環境によるのかな? とりあえずメモメモ これは動かなかった <Files ~ "^index\.html"> RewriteEngine on RewriteBase / RewriteCond %{REQUEST_FILENAME} !-f RewriteRule ^index\.html$ index.php [L] </Files> これは動いた RewriteCond %{REQUEST_URI}…

画像は画像サーバから読み込む時の設定 .htaccess、htmlの記述例

よく、画像サーバを別に立てて、そこに画像ファイルや、動画ファイルを置くなんてことをします。 呼び出し側は.htaccessを一行書いてあげれば、簡単に設定できます。via 最速最安WEB画像サーバ構築術 - nginx + ServersMan - 新・浅く広くをモットーに | 一…

.htaccessでドメインにwwwを自動につける

他のサイトでこのやり方を結構みるのでやってみた。基本動いた。 RewriteEngine On #www自動付与 RewriteCond %{HTTP_HOST} ^exsample\.jp RewriteRule ^(.*)$ http://www.exsample.jp/$1 [R=301,L] この場合 http://exsample.jp/ とアドレスバーに打った場…

X-FRAME-OPTIONS をDENYにするとiframeが使えなく

クリックジャッキング対策として? .htaccessに Header set X-FRAME-OPTIONS "DENY" と書いてあったが Header set X-FRAME-OPTIONS "SAMEORIGIN" と書かないと、iframeを使えなくなるのでMT4や一部WYSIWYGなどが使えなくなる

スマホ、PC振り分け

htaccessで対応 タブレットはPCサイトを表示します。 試してないけど、iOS系の振り分けはこれでOKっぽい ↓のユーザエージェント iPhone,iPad,iPodのユーザーエージェント一覧 | 自由が丘で働くWeb屋のブログ RewriteEngine On #① RewriteCond %{HTTP_USER_AG…

ini_set('session.use_trans_sid', '1');に出来ないとき

携帯ようのページを作っているとdocomo用にsession.use_trans_sidをOnにしないといけないことがあるが サーバ設定でセキュリティーの為session.use_trans_sidをOnにできないことがままある。 サーバ側の設定なのか、php4だからなのかini_set('session.use_tr…

.htmlをhtmlとして読ませる

基本.htmlをphpとして動かしたいとき AddType application/x-httpd-php .html を書きますが、ここだけは.htmlをhtmlとして読ませたい!ってときに Apacheの設定によって書き方は異なるが AddType text/x-server-parsed-html .html か AddType text/plain .ht…

携帯にxhtmlで構築する場合の覚書

.htaccess #↓のどちらか、もしくは両方を記述 AddHandler application/xhtml+xml .html AddType application/xhtml+xml .html via iモードHTMLとiモードXHTMLを正しく切り替える方法 携帯サイトを作ろう! -ちょっと詳しいモバイルサイトの作り方- xhtml

サイト内のどこにアクセスしてもトップページを表示する

どこにアクセスしてもトップページにリダイレクトする 画像ファイル等の場合は省く RewriteEngine On RewriteCond %{REQUEST_URI} !^/index.html$ RewriteRule !^(.*)\.(gif|jpg|css|js|swf)$ http://%{HTTP_HOST}/index.html$1 [L]

指定フォルダだけBasic認証を外す

そのフォルダの.htaccessにこれを書けばよい satisfy any order allow,deny allow from all # ついでに.htaccessを実行できないように <Files ~ "^\.ht"> deny from all </Files> 解説 satisfy any デフォルトの動作 (All) はクライアントがアドレスによる アクセス制限を満たし、かつ…

ディレクティブは.htaccessでは使えない

特定のディレクトリ以下に動作する「 ディレクティブ」を使おうと思ったけども、.htaccessでは設定できない模様。 リンク <Directory> ディレクティブ このあたりの記述がそれです。 コンテキスト: サーバ設定ファイル, バーチャルホスト 今回は指定フォル…

メンテナンス中のリダイレクト設定

ページリニューアル時など、はメンテナンスページをだしますが。さてどうしようかとおもって 「.htaccess メンテナンス」とかでぐぐってみたら、結構出てきたんだけどCPIではイマイチ良い感じに動いてくれないということで色々試した結果がこれ Options +Fol…

動的なページを静的に見せる

前にも同じようなものを書いたけど、凄く見にくいのでライトバージョンを書く #mod rewriteを使うために必須な宣言 Options +FollowSymLinks RewriteEngine On #例 index.html → index.php として実行 RewriteRule ^index.html$ ./index.php [L] #例 index_1…

RewriteRule 動的なページを静的なページに見せる

タグクラウドを作ることになったので しばらく前の事例の.htaccessのソースをがんばって解読していこう。 1. Options +FollowSymLinks 2. RewriteEngine on 3. RewriteCond %{REQUEST_FILENAME} !-f 4. RewriteRule ^([0-9]{2})\.html$ http://%{HTTP_HOST}/…

.htmlのファイルをphpとして動作させたい場合

グローバルトップがindex.phpとかだと嫌な場合とか隠しておけます やっぱりプログラム動いてますよ!ってのを主張してるようなものなので そっと隠しておきたくなる気持ちもわかります。 php4の場合 .htaccessに 「AddType application/x-httpd-php .html」 …