質問 > その他 > EC-CUBE 3.0.6 Apache MultiViews 有効環境下での新規ページ作成ができない |
その他
フラット表示 | 前のトピック | 次のトピック |
投稿者 | スレッド |
---|---|
y-sakurai |
投稿日時: 2015/12/26 13:56
対応状況: −−−
|
新米 登録日: 2015/12/26 居住地: 投稿: 2 |
EC-CUBE 3.0.6 Apache MultiViews 有効環境下での新規ページ作成ができない 表題の環境につきまして、EC-CUBEで新規追加したページが、そのままのURLでは表示できない(Apacheの404エラー)状態です。
例えば、「hoge」というページを作成しても http://example.com/user_data/hoge にアクセスした場合、EC-CUBEのエラー画面ではなく、Apacheの404エラーが表示されます。 ただし、 http://example.com/index.php/user_data/hoge というように、index.phpをURL内に追加すれば表示可能な状態です。 EC-CUBEの仕様上、ページを作成すると /html/user_data/ ディレクトリに当該ページの.twigテンプレートファイルを作成するものと認識しています。 ApacheのMultiViewsが有効になっていると、Apache内のルーティング処理で.twigファイルを発見・クエリ書き換えを行ないます。 その後、EC-CUBEの動作に必要な/html/.htaccess内にあるクエリのRewrite処理が動き、結果としてリクエストURIが /user_data/hoge ↓ /index.php/user_data/hoge.twig となり、ファイルが見つからないため、Apacheが404エラーを返しているものと推測されます。 (通常であれば、index.phpを実行し、EC-CUBEの処理内で専用の404ページを生成して返すはずが、Apache側でエラーとなる) 手元の開発環境でもApacheのMultiViewsを有効にすると症状が再現できました。 (MultiViewsをオフにすると問題なく動作) そもそもMultiViewsをOffにすればいいじゃないか、というお話ですが、さくらのレンタルサーバではデフォルトでOnとなっており、またAllowOverrideによる書き換えが許可されていないため、MultiViews有効を強制されてしまいます。 こちらで.htaccessに記述しているRewrite設定を工夫して対応できないかと思いましたが、現状では改善できていません。 (Rewriteで.twigを消しても、その後更にmod_negotiateが追加しているような挙動に見えます) また、MultiViewsMatchディレクティブの変更を全パターンで試してみましたが、結果は変わらずでした。 誰か、MultiViewsが有効な環境下で新規ページ作成が問題なくできる方がいらっしゃいましたら、情報共有をお願いできませんでしょうか。 情報の不足などありましたら、その旨ご指摘をお願いいたします。 |
フラット表示 | 前のトピック | 次のトピック |
題名 | 投稿者 | 日時 |
---|---|---|
» EC-CUBE 3.0.6 Apache MultiViews 有効環境下での新規ページ作成ができない | y-sakurai | 2015/12/26 13:56 |
Re: EC-CUBE 3.0.6 Apache MultiViews 有効環境下での新規ページ作成ができない | k-yamamura | 2015/12/29 12:33 |
Re: EC-CUBE 3.0.6 Apache MultiViews 有効環境下での新規ページ作成ができない | y-sakurai | 2015/12/30 14:51 |