「htaccess」タグアーカイブ

CoreserverのCGI版PHPを5.4に

現在、CoreserverのPHPはモジュール版でバージョンが5.2です。CGI版を選択することで、バージョンを選択することができます。例えば、5.4を使いたい場合は、.htaccess に以下のように記述します。


AddHandler application/x-httpd-php54cgi .php

 

これでPHPは5.4が選択されます。同様に、x-httpd-php54cgiをx-httpd-php53cgiとすれば、5.3を指定することができます。Coreserverのモジュール版はセーフモードで動いているため制約が多く、上記のようにCGI版で動かすことが多くなっています。モジュール版の方が負荷が少なく503エラーなどは出にくくなると思いますが、融通が利くのはCGI版だといえます。

 

.htaccessのメモ(coliss.comより)

レンタルサーバの利用する上でほぼ避けられないのが.htaccessの設定です。

自分のメモもかねますが、coliss.comの「サーバーの設定をカスタマイズ、よく利用する『.htaccess』の設定のまとめ」がわかりやすく解説されています。

他の方法でもできることを.htaccessで設定する場合もありますし、.htaccessでしかできないこともあります。サラッと読んでおいて、「そういえば、こんなことが.htaccessでできた気がする!」と思い出すだけでも役に立ちそうです。

CodeIgniterの’index.php’を省略する.htaccess

久しぶりにPHP関連の話題です。

PHPフレームワークのCodeIgniterは軽量かつわかりやすいということで人気です。現在のバージョンは2.1.0で、こちらからダウンロードできます。2MB強です。インストールは先ほどのアーカイブを展開しておくだけです。

展開したディレクトリをcodeigniterとすると、アクセスはhttp://www.example.com/codeigniter/index.php/test/などとなります。他のフレームワークと同様に、パラメータをディレクトリのように渡します。ただ、このままだと、inde.phpの部分が毎回表示され冗長です。

.htaccessを設定すると、解消できるとオンラインのドキュメントにも書かれているので設定してみましたが、404 Not Found とエラーが出てきました。

RewriteEngine on
RewriteCond $1 !^(index\.php|images|robots\.txt)
RewriteRule ^(.*)$ /index.php/$1 [L]

上記の場合は、CodeIgniterをhttp://www.example.com/の直下に展開した場合なので、今回のようにhttp://www.example.com/codeigniter/に展開した場合は3行目を以下のように書き換えます。

RewriteEngine on
RewriteCond $1 !^(index\.php|images|robots\.txt)
RewriteRule ^(.*)$ /codeigniter/index.php/$1 [L]

これで無事に解決しました。

レンタルサーバの初期ドメインへのアクセスをリダイレクト(htaccess)

レンタルサーバーのほとんどで、ユーザーIDやユーザー番号をサブドメインとして、webを公開できるようになっています。たとえば、example.comというドメインがレンタル元から提供されていて、useridというサブドメインで以下のようにアクセスできる様なケースが考えられます。

http://userid.example.com/

独自ドメインを取得した場合は、上記のようなURLでアクセスはしない(させたくない)と思いますので、.htaccessに以下のように設定します。(例として取得した独自ドメインをexample.netとします。ややこしいですが、例示のドメインには決まりがあるみたいです)

RewriteEngine on
RewriteCond %{HTTP_HOST} ^userid\.example\.com
RewriteRule ^(.*) http://www.example.net/\ [R=301,L]

以前に、www付きとwwwなしのアクセスの統合に関するエントリで示した例の応用になっています。
これを.htaccessに記述することで、サブドメイン+レンタルサーバーのドメインをwww付きの独自ドメインにリダイレクトすることができます。

wwwなしとwww付きのアクセスを統合 (htaccess)

さくらインターネットのレンタルサーバではドメインの設定において、マルチドメインとして使用することを推奨されています。例えばexample.comのドメインを/exampleに割り当てたとき、www.example.comでもexample.comでもアクセスできるということです。ほかにもblog.example.comを/blogに割り当てるといった追加はもちろん可能です。サブドメインなしでアクセスがあった場合に、代表的なwwwに割り当てるのはありがたい設定ではあります。

ところがブラウザ上もwwwなしのままで表示されますし、検索園児になどには、サブドメインの有無で全く別のサイトと判断されますのでどちらかに統一した方がよいといわれています。
続きを読む wwwなしとwww付きのアクセスを統合 (htaccess)