さくらインターネットで CakePHP

Posted by muchag | .htaccess,CakePHP,さくらインターネット |
初回投稿:2011-06-06 (月) 1:01:52 | 最終更新:2011-06-09 (木) 10:05:25

さくらインターネットで CakePHP を利用するには
.htaccess のルールがあるとのこと。

【環境】
[CakePHP] 1.3.10
ディレクトリ構成

さくらインターネットでは

/home/(アカウント名)/www

が Web 公開ディレクトリ。

よって公開したくないファイル群は

/home/(アカウント名)

に配置する。

今回は主要3点セット cake, app, webroot を以下のように配置した。
ちなみに、webroot は directory3 とリネームしてある。

/home/(アカウント名)/directory1/app
/home/(アカウント名)/directory1/cake
/home/(アカウント名)/www/directory2/directory3

 

.htaccess

この配置で以下のように設定したら稼動した。

/home/(アカウント名)/www/directory2/directory3/.htaccess
[htaccess]
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.*)$ index.php?url=$1 [QSA,L] RewriteBase /directory3
[/htaccess] 6行目を追加。

参考元サイトでは他にも設定が必要なことが書いてあるが
現在のところこれだけで稼動している。

またおかしくなったら加筆・修正する。
 

不思議

っていうか、webroot を directory3 とリネームしてあるのに

/home/(アカウント名)/directory1/app/.htaccess


RewriteEngine on
RewriteRule ^$ webroot/ [L] RewriteRule (.*) webroot/$1 [L]

これで動いている意味がわからない・・・。

それと、参考元サイトを見て気がついたんだけど
「cake インストールフォルダ」って、CakePHP を DL して解凍したときに
app, cake ・・・が入っているフォルダでしょ?

ここに配置されている .htaccess ファイルも index.php ファイルも
こういうディレクトリ配置で置き場所がわからない・・・つまり無視している。
でも動いている・・・不思議。 🙄
 
参考元サイト:CakePHP Users in Japan フォーラム さくらインターネットで404エラー

Posted by muchag | .htaccess,CakePHP,さくらインターネット |
初回投稿:2011-06-06 (月) 1:01:52 | 最終更新:2011-06-09 (木) 10:05:25

BASIC 認証

Posted by muchag | .htaccess |
初回投稿:2011-06-06 (月) 0:02:42 | 最終更新:2011-06-06 (月) 0:02:42

Web 公開ディレクトリに BASIC 認証を掛ける手法。

.htaccess

認証をしたいディレクトリに以下のような .htaccess ファイルを配置。

.htaccess
[htaccess]#htpasswd
AuthUserFile /home/hoge/.htpasswd
AuthGroupFile /dev/null
AuthName “Please enter your ID and password”
AuthType Basic
require valid-user[/htaccess]

2行目は、ID とパスワードを記載したファイルへの絶対パス。

4行目は、認証ダイアログに表示したい文言。
 

パスワードの作成

phpspot:htpasswd用パス作成ツール
などのツールを用いて、暗号化されたパスワードを作成。

ID:hoge  PW:moge と入力して「作成」すると
「hoge:57C7Oa6QpdWk6」という文字列を作成してくれる。

 

パスワードファイルの作成

テキストエディタに、先ほどの ID と暗号化されたパスワード
hoge:57C7Oa6QpdWk6
を記述し
.htaccess で指定したファイル名で保存し
指定したディレクトリに配置する。

Posted by muchag | .htaccess |
初回投稿:2011-06-06 (月) 0:02:42 | 最終更新:2011-06-06 (月) 0:02:42

SEO -> URLの重複

Posted by muchag | .htaccess,さくらインターネット |
初回投稿:2010-06-03 (木) 0:57:15 | 最終更新:2011-04-17 (日) 17:52:56

[PHPプロ!] 重複するURLを防ぐことでSEO効果を上げるTips

こんなページを見つけて
お! なるほど と思った。

私のサイトはSEOなんてあんまり考えていないけど
.htaccess の知識は相当乏しいので
練習がてらやってみた。

1.ドメインリダイレクト

しかしながら、上記サイトにある
.htaccess での
http://example.com -> http://www.example.com
のリダイレクトは、さくらの私のサイトでは正常に動作しなかった。
[htaccess]RewriteEngine on
RewriteCond %{http_host} ^example.com[NC] RewriteRule (.*) http://www.example.com/$1 [L,R=301][/htaccess]

次にさくらのレンタルサーバ非公式FAQ内の設定例
[htaccess]RewriteEngine on
RewriteCond %{HTTP_HOST} example\.sakura\.ne\.jp [NC] RewriteRule .* http://www.example.com%{REQUEST_URI} [L,R=301][/htaccess] これを
[htaccess]RewriteEngine on
RewriteCond %{HTTP_HOST} example\.com [NC] RewriteRule .* http://www.example.com%{REQUEST_URI} [L,R=301][/htaccess] としてみたが、これも

ページの自動転送設定が正しくありません
このアドレスへのリクエストに対するサーバの自動転送設定がループしています。
・Cookie を無効化したり拒否していることにより、この問題が発生している可能性もあります。

FireFox 3.5.9 では以上のメッセージによりエラー。
IE 7.0.5730.13 では読み込みが完了しなかった。

で、Web Techniques Pro の URLの書き換え Rewrite にある
[htaccess]RewriteCond %{HTTP_HOST} ^(example\.com)(:80)? [NC] RewriteRule ^(.*)$ http://www.example.com/$1 [R=301,L][/htaccess] としたら
http://example.com -> http://www.example.com
に成功した。

2.「/index.php」 と 「/」
[htaccess]RewriteCond %{request_uri} ^/$
RewriteCond %{request_method} GET [NC] RewriteRule ^/$ /index.php [L,R=301][/htaccess] これは元々条件分岐で飛ばしてしまっているので
検証不能。
一応設定しておいた。

Posted by muchag | .htaccess,さくらインターネット |
初回投稿:2010-06-03 (木) 0:57:15 | 最終更新:2011-04-17 (日) 17:52:56