[Codeigniter-users] CIで携帯用サイト構築時のmod_rewriteの設定

Back to archive index

supipiitopalo supip****@gmail*****
2008年 12月 28日 (日) 08:09:20 JST


kenjiさん

> これ、pc はディレクトリでなくコントローラですか?
> つまり、http://example.jp/index.php/pc でアクセス可能という状態。

pcはコントローラなのですが、
http://example.jp/index.php/pc でアクセス不可でした。CIのNotFound画面になっていました。

そこで、CI徹底入門のP.30〜に再度目を通しました。
p30〜 http://localhost/codeigniter の場合のインストール方法が載っていることに気付き、
/codeigniter を /mobi に見立てて手順どおりにインストールしたところ希望通りの設定になりました。
config.phpの設定がデフォルトだったのが悪かったみたいです。

> この設定でPOSTした時に下記のようなリクエストになってしまいました。
http://example.jp/mobi/index.php/pc/post
URLのindex.phpを無くして、http://example.jp/mobi/pc/post にしたいのですがどのように設定していいのか分かりません。

<?=form_open('pc/post');?>
<input class="button" type="submit" value="投稿する" />
<?=form_close();?>

上記のフォームでpostした後に、ブラウザのアドレスバーに http://example.jp/mobi/index.php/pc/post
が表示されてしまうという
ことでした。現状の情報共有に不備があり申し訳ありませんでした。

>RewriteRule ^(.*)$ /mobi/index.php/$1 [L]
>ではないでしょうか?

すみません書き間違えました。
ご指摘の通り RewriteRule ^(.*)$ /mobi/index.php/$1 [L] と書きたかったです。

mod_rewriteについてもいまいち分かってないので、今度勉強しておきます。


安藤さんが教えてくれた、p195の説明は最近改めてチェックしたばかりなので記憶が鮮明です。
セッションの管理を行わない方法ということで活用シーンは多々あると考えたのですが、現在携帯対応させようとしているサイトに
閲覧数を計測する機能があるので携帯版独自のセッション管理機能をpc版とは別に用意しようと考えました。

みなさん、良いお年を。


2008/12/27 8:57 Kenji <kenji****@club*****>:
> Kenji です。
>
>
> On Fri, 26 Dec 2008 23:52:29 +0900
> supipiitopalo <supip****@gmail*****> wrote:
>
>> 携帯用のサイトを作っていてmod_rewriteの設定が分からなくなってしまいました。
>>
>> PC用のURLが http://example.jp/pc (pcというコントローラがあります)というURLで動いています。
>
> これ、pc はディレクトリでなくコントローラですか?
> つまり、http://example.jp/index.php/pc でアクセス可能という状態。
>
> そうでしたら、ドキュメントルートの htaccess で /mobi へのアクセスは
> index.php へ渡さないように設定する必要があるかと思います。
>
>
>> 私なりにいろいろ考えた結果、携帯版のURLを http://example.jp/mobi
>> (mobiはディレクトリでPCからのアクセスをIPアドレスで拒否するつもりです)
>> にしてみることにしました。携帯から/pcにアクセスした場合は/mobi にリダイレクトする設定をhtaccessに追加しました。
>>
>> mobiディレクトリに、codeigniterを新しく用意し携帯用に必要なカスタマイズを別に実装できたらいいなと思いました。
>> mobi内で開発を始めたのですが、リンクやPOST先のURL設定が分からなくなってしまいました。
>>
>> /mobi のhtaccessは下記の通りです。
>>
>> RewriteEngine on
>> RewriteCond $1 !^(index\.php|css|user_guide|.+\.gif$|.+\.jpg$|.+\.png$|.+\.js$)
>> RewriteRule ^(.*)$ /mobile/index.php/$1 [L]
>
> RewriteRule ^(.*)$ /mobi/index.php/$1 [L]
> ではないでしょうか?
>
>> この設定でPOSTした時に下記のようなリクエストになってしまいました。
>
> ここでの POSTした時というのは、どういう意味でしょうか?
> ページに書かれている URL がそうだという意味でしょうか?
> もし、そうでしたら、ページの view ファイルの記述か
> config.php の site_url の設定が正しくないということになります。
>
>
>> http://example.jp/mobi/index.php/pc/post
>>
>> URLのindex.phpを無くして、http://example.jp/mobi/pc/post にしたいのですがどのように設定していいのか分かりません。
>>
>> すみませんが、教えてください。
>
> _______________________________________________
> Codeigniter-users mailing list
> Codei****@lists*****
> http://lists.sourceforge.jp/mailman/listinfo/codeigniter-users
>



Codeigniter-users メーリングリストの案内
Back to archive index