前提・実現したいこと
さくらサーバにてWordPressを外部読み込みしています。
パラメータ付きURLだと不都合があるのでhtaccessにてリダイレクト処理を行い
①https://hogehoge.com/hoge/hogehoge/?page=数字
②https://hogehoge.com/hoge/hogehoge/detail.php?no=数字
③https://hogehoge.com/hoge/hogehoge/category.php?cat=スラッグ名
④https://hogehoge.com/hoge/hogehoge/category.php?cat=スラッグ名&?no=数字
を
①https://hogehoge.com/hoge/hogehoge/数字/
②https://hogehoge.com/hoge/hogehoge/detail/数字/
③https://hogehoge.com/hoge/hogehoge/category/スラッグ名/
④https://hogehoge.com/hoge/hogehoge/category/スラッグ名/数字/
にしました。
発生している問題・エラーメッセージ
php
1$変数 = $_GET['パラメータ名'];
でパラメータの情報が取得できていないので、ページは表示できていても想定と異なる動きをしています。
リダイレクト前のURLではパラメータ取得ができているので、
問題はリダイレクトの記述なのではと予測しているのですが解決策がわかりません。
該当のソースコード
htaccess
1AddType application/x-httpd-php .php ★ 2RewriteEngine on 3 4RewriteBase /hoge ★ 5RewriteCond %{REQUEST_URI} !/$ 6RewriteCond %{REQUEST_URI} !.[^/.]+$ 7RewriteCond %{REQUEST_FILENAME} !-f 8RewriteCond %{REQUEST_FILENAME} !-d 9 10RewriteRule .* %{REQUEST_URI}/ [R=301,L] 11 12RewriteRule ^hogehoge/([0-9]+)/$ /hogehoge/?page=$1 [QSA,L] 13RewriteRule ^hogehoge/detail/([0-9]+)/$ /hogehoge/detail.php?no=$1 [QSA,L] 14RewriteRule ^hogehoge/category/(.*)/$ /hogehoge/category.php?cat=$1 [QSA,L] 15RewriteRule ^hogehoge/category/(.*)/([0-9]+)/$ /hogehoge/category.php?cat=$1&page=$2 [QSA,L]
★調べたり、サーバのエラーログから、さくらにはこちらの記述が必要らしいので書いています。
試したこと
php
1$_SERVER["REQUEST_URI"] 2や 3isset($_GET["パラメータ名"])
で、そもそもURLはどうなっているのか、パラメータが取得できているのかを確認しました。
当然ですがURLはリダイレクト後が出てきたのでパラメータも取得できておりません。
他のサーバではhtaccess、phpの記述ともに問題なく動作しているので
さくらサーバには独自の設定を記述してあげないといけないのではという考えなのですが、解決できないのでお力を貸していただきたく思います。
よろしくお願いいたします。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。