LoginSignup
1
1

More than 5 years have passed since last update.

urlについて

Last updated at Posted at 2014-02-21

htmlヘルパーのlink生成するときちょっとややこしいことになった。

これが出力したいやつ

アプリケーション/コントローラ/アクション/from:〇〇/id

〇〇は文字列で自分で生成してます。
idは数字で数は不定
複数だとこんな風になります。

アプリケーション/コントローラ/アクション/from:〇〇/1/2/3

これをHtml->linkで頑張って生成してみました。

無難にget風に書いていけるかなって思ったけど「/」のエスケープ文字でこけました。

$this->Html->link('リンク文字', array(
'controller' => 'コントローラ',
'action' => 'アクション'. 'from:〇〇/'. id
));

サーバの設定を変えることでこの問題も解決できるようですがコーダとしてそれは負けだと思ったのでもう少し頑張りました。
解決方法は以下のサイトに掲載されていました。(CakePHP 2.0で解消されたURLの特殊文字問題)
http://tkyk.name/blog/2012/02/22/cakephp20-special-characters-in-url/
※自分は試していないのでご了承ください

どうにか自分で「/」を書かないようにしてみた結果、次のようになりました。

$this->Html->link('リンク文字', array(
'controller' => 'コントローラ',
'action' => 'アクション',
'from' => '〇〇',
id
));

しかし結果エラーにはならなかったのですが以下の様なURLになってしまいました。

アプリケーション/コントローラ/アクション/id/from:〇〇

これでも自分の場合は問題なかったのでこれで終わりとしました。
しかし、なんか気持ち悪いな・・・

1
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
1