0

私はそれを次のようにしたい:

www.xxx.com/product1 注文コントローラーの index() を使用し、product1 をパラメーターとして渡します。

www.xxx.com/product2 注文コントローラーの index() を使用し、product2 をパラメーターとして渡します。

それから、

www.xxx.com/product1/shipping 注文コントローラーの shipping() を使用します。

www.xxx.com/product2/shipping 注文コントローラーの shipping() を使用します。

私は試した:

Router::connect('/:product', 
array('controller' => 'order'),
array(
        'product' => 'product1|product2',
        'pass' => array('product')
)
);

そしてそれはのために働くwww.xxx.com/product2

/:product/:action後で動かそうとしましたindex()が、うまくいきませんでした。それはmissing controller for product1何かを示しています。

私は何をすべきか?

4

1 に答える 1

0

一般に、製品を見ているという事実には、ある種の分母を使用することをお勧めしhostname.tld/products/product1ますhost.tld/p/product1。これにより、将来これを拡張することがはるかに簡単になります。REST (Restful URL) の概念を確認することをお勧めします。

ただし、その計画に固執したい場合は、Apache で URL を書き換えてみてください。ユーザーにとってははるかに高速で、自分で追跡しやすく、正規表現を含むあらゆる種類のパターンを記述できるため、より柔軟になります。 .

于 2013-02-12T18:49:49.357 に答える