質問 > フロント機能 > EC-CUBE(Ver4)のURL変換方法について |
フロント機能
スレッド表示 | 新しいものから | 前のトピック | 次のトピック | 下へ |
投稿者 | スレッド |
---|---|
dretec |
投稿日時: 2019/3/19 12:07
対応状況: −−−
|
半人前 登録日: 2019/3/19 居住地: 投稿: 12 |
EC-CUBE(Ver4)のURL変換方法について [EC-CUBE]4.02
[レンタルサーバ] Xserver [PHP]7.2.14 [データベース]MySQL 5.7.16 [WEBサーバ]Apache [ブラウザ]Google Chrome72.0 [導入プラグインの有無]無 [カスタマイズの有無]無 [現象] デフォルトのURL設定を変更したいのですが、 下記2点のURL変換方法が分からず、お力添え頂けたら大変有り難いです。 ①productsカテゴリのURL変更 ②list?category_id=●の静的URL変更 以下の参考記事をお手本に、ec-cube設置フォルダのルートにある .htaccessファイルにURL変換に関する記述をしても変化がありませんでした。 ▼参考記事 https://xoops.ec-cube.net/modules/newbb/viewtopic.php?viewmode=thread&topic_id=15705&forum=11&post_id=70261#forumpost70261 ▼.htaccessへ追記したURL変換文 RewriteEngine on RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule ^detail([0-9]+).html$ /products/detail.php?product_id=$1 [L] RewriteRule ^list([0-9]+).html$ /products/list.php?category_id=$1 [L] お手数をおかけいたしますが、 解決方法があればご教授いただければ助かります。 |
468 |
投稿日時: 2019/3/19 14:38
対応状況: −−−
|
神 登録日: 2008/10/26 居住地: 投稿: 3217 |
Re: EC-CUBE(Ver4)のURL変換方法について 私の認識違いかもしれませんが、
ECCUBE4系では、htaccessによるURLの見え方の変更は難しいのではないでしょうか? (少なくとも私は記述方法が思い付きません) 私が難しいと考える理由としては、最初からhtaccessでrewriteを実行する事が前提になってるからです。 例えば、商品一覧ページのURLですが、デフォルトでは以下のようになっていますが、 https://hogehoge.com/products/list?category_id=1 内部的には、以下のURLにrewriteして処理されています。 https://hogehoge.com/index.php dretecさんの目的としては https://hogehoge.com/list1.htmlにアクセスがあった場合、 https://hogehoge.com/products/list?category_id=1の内容を表示したいという事でしょうか? (URLの表記が書き換わると困る?)
|
dretec |
投稿日時: 2019/3/19 17:01
対応状況: −−−
|
半人前 登録日: 2019/3/19 居住地: 投稿: 12 |
Re: EC-CUBE(Ver4)のURL変換方法について 468さん
書き込みいただきありがとうございます。 目的としては、「動的URLを静的URLに変更したい」となります。 具体的には、以下URLのようにカテゴリをブランド名にて表示できればと思っております。 例:http://zozo.jp/brand/abagofchips/ 的確に説明できなくてお手数をおかけいたしますが、 ご確認いただければ助かります。 |
umebius |
投稿日時: 2019/3/19 17:07
対応状況: −−−
|
神 登録日: 2016/7/22 居住地: 投稿: 2085 |
Re: EC-CUBE(Ver4)のURL変換方法について >①productsカテゴリのURL変更
1に関しては.htaccessではなく、下記の修正で可能です。 src/Eccube/Controller/ProductController.php で、 商品詳細画面のメソッドdetailのアノテーションを変更してください。 (本体の修正を行いたくない場合は、カスタマイズディレクトリをご利用ください) 商品ページを次のようなURLに変更 /products/detail999.html @Route("/products/detail/{id}", name="product_detail", methods={"GET"}, requirements={"id" = "\d+"}) ↓ @Route("/products/detail{id}.html", name="product_detail", methods={"GET"}, requirements={"id" = "\d+"})
|
umebius |
投稿日時: 2019/3/19 17:18
対応状況: −−−
|
神 登録日: 2016/7/22 居住地: 投稿: 2085 |
Re: EC-CUBE(Ver4)のURL変換方法について 一方、カテゴリページを英字を使って静的化するのは難易度が高いカスタマイズになります。
別のルーティングを用意してやり、URLジェネレーターを差し替えるのが手っ取り早いと思います。 あと、プラグインなどへの影響を考慮してRequest情報を修正しておく等の対応が必要になることがあります。 /** * 商品一覧画面. * * @Route("/products/list", name="product_list") * @Template("Product/list.twig") */ public function index(Request $request, Paginator $paginator)
|
dretec |
投稿日時: 2019/6/11 11:09
対応状況: −−−
|
半人前 登録日: 2019/3/19 居住地: 投稿: 12 |
Re: EC-CUBE(Ver4)のURL変換方法について 返信が遅れました。ご回答いただきありがとうございます。
とても参考になりました。 |
スレッド表示 | 新しいものから | 前のトピック | 次のトピック | トップ |