仕事、学んでいること、興味のあることなどの「アウトプット」を書き出すブログ。心を高め、魂を磨くために、今日も一生懸命働く。
Cakephpを使ってPC向けのウェブサイトを作成して、
さらに、
http://***.com/m/
なんていうモバイルサイトも作ったりすると、
http://***.com/m/robots.txt
は置けなかったりするんですよね。
なぜかというと、
http://***.com/
がに設定されており、
それ以外のディレクトリは、プログラムでしか、
ディレクトリやファイルの追加、削除はできないんです。
(逆を言うと、http://***.com/robots.txt
は、通常どおりFFFTP等でアップロードするだけで済みます)
なので、それ以外のディレクトリは、
FFFTPを使って、
http://***.com/m/
何ていうディレクトリを作ればエラーだし、
もちろんファイルも置くこともできません。
ということで、今回は、
http://***.com/m/robots.txt
という感じでrobotx.txtを、cakephpを使って作成してみます。
まずは、routes.phpの設定から。
Router::connect('/m/robots.txt', array('controller' => 'robots', 'action' => 'index'));
もちろんネーミングは任意ですので、自由に変更してみてください。
それぞれ環境はあるうと思いますが、
/app/controllers/robots_controller.php
という場所と名前でコントローラを作成します。
<?php
class RobotsController extends AppController
{
var $name = 'Robots';
var $uses = 'Post';
var $components = array('RequestHandler');
function index (){
Configure::write ('debug', 0);
$this->RequestHandler->respondAs('text');
$this->viewPath .= '/text';
$this->layout = 'ajax';
}
}
?>
作成するファイルが、robots.txtなので、
respondAsには’text’を設定します。
は、理由がわかりませんでしたが、
他のを試してみたところできなかったので、
素直に下記参考サイトに従いました。
/app/views/robots/text/index.ctp
にビューを作成します。
そして、robots.txtの記入のほんの一例だと思いますが、
下記のように書いておきます。
<?php echo 'User-agent: *'."<br />"; echo 'Sitemap: http://***.com/m/sitemap.xml'."<br />"; echo 'Disallow: '."<br />"; ?>
そして、今回
なので、コントローラに記入したajaxは完全なダミーです。
cakephpを使ったrobots.txt作成はいかがでしたか?
ぜひ、モバイルサイトなどにご活用ください。
でも、やっぱり面倒ですよね。
・何で簡単にアップロードできないんだ?
・例外ルールはないのか?
と思うのですが、フレームワークの便利さの代償と考えるしかないですね。
今回の参考サイト:
http://dsi.vozibrale.com/articles/view/creating-robots-txt-for-cakephp-apps
ありがとうございます。
<< ベンチャーが大切なキャッシュを失わずに事務所を借りる方法
[ 起業日記のホームへ ]
仕事の成果や興味を持って体験したこと、また今学んでいることで自分なりにまとめられるようになったことなど、とにかくアウトプットを中心として書いていくブログです。
「1日16時間 起業日記」の意味は、WEBの世界で起業した管理人が、京セラの稲盛和夫さん、HONDAの本田宗一郎さんのように、年間5,000時間以上を数十年と働き続けた名経営者達に憧れて、せめて時間だけでも同じことをしよう!という意気込みを表現しています。
コメント