EC-Cube 2.12.6で sitemap.phpでのuser_dataを消す方法について
EC-Cube 2.12.6で sitemap.phpでのuser_dataを消す方法について
EC-Cube 2.12.6で sitemap.phpでのuser_dataを消す方法について
(Eccube 2.12.3)sitemap.phpでのuser_dataを消す方法について
motorpと申します。
Eccube 2.12.3 で作業を行っているのですが
user_data のページ表示で URLに含まれる user_data を消すことと静的アドレスになるように、.htaccess 側で以下のようにしました。
http://xxx.com/user_data/test.php
↓
RewriteEngine on
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*).html$ user_data/$1.php [L]
次にsitemap.phpで表示を治す作業(LC_Page_Sitemap.php)を行っているのですが
sitemap.phpで/user_data/の部分を無くす(?)記述がわからなく修正方法がわかる方がおられましたら、ご教授頂けたら助かります。
Re: (Eccube 2.12.3)sitemap.phpでのuser_dataを消す方法について こんにちわ。
LC_Page_Sitemap.php で、user_dataを含むURLを取得している箇所で、URLを出力する前に加工すればOKです。
process()の中の以下の部分を
// 編集可能ページを処理 $arrEditablePagesList = $this->getEditablePage($this->arrPageList); foreach ($arrEditablePagesList as $arrEditablePage) { $this->createSitemap($arrEditablePage[‘url’], $this->date2W3CDatetime($arrEditablePage[‘update_date’])); }
以下のように修正します。
// 編集可能ページを処理 $arrEditablePagesList = $this->getEditablePage($this->arrPageList); foreach ($arrEditablePagesList as $arrEditablePage) { $url = $arrEditablePage[‘url’]; // 追加 if (strpos($url, ‘user_data/’)) { // 追加 $url = str_replace(‘user_data/’, ‘’, $url); // 追加 $url = preg_replace(‘/.php$/’, ‘.html’, $url); // 追加 } // 追加 $this->createSitemap($url, // 変更 $this->date2W3CDatetime($arrEditablePage[‘update_date’])); }
// 編集可能ページを処理 $arrEditablePagesList = $this->getEditablePage($this->arrPageList); foreach ($arrEditablePagesList as $arrEditablePage) { $this->createSitemap($arrEditablePage['url'], $this->date2W3CDatetime($arrEditablePage['update_date'])); }
// 編集可能ページを処理 $arrEditablePagesList = $this->getEditablePage($this->arrPageList); foreach ($arrEditablePagesList as $arrEditablePage) { $url = $arrEditablePage['url']; // 追加 if (strpos($url, 'user_data/')) { // 追加 $url = str_replace('user_data/', '', $url); // 追加 $url = preg_replace('/\.php$/', '.html', $url); // 追加 } // 追加 $this->createSitemap($url, // 変更 $this->date2W3CDatetime($arrEditablePage['update_date'])); }