私は現在、apacheコードを使用しています:
RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
# Categories + Page:
RewriteRule ^([a-z\-]+)/([a-z\-]+)$ /index.php?category=$1&page=$2
RewriteRule ^([a-z\-]+)/([a-z\-]+)/$ /index.php?category=$1&page=$2
# Categories:
RewriteRule ^([a-z\-]+)$ /index.php?category=$1
RewriteRule ^([a-z\-]+)/$ /index.php?category=$1
これにより、URLがexample.com?category = software&page=mobileからexample.com/software/mobile/に変わります。
これは正常に機能し、phpファイルは$_GET['category']正常に動作します。ただし、何らかの理由で、$ _GET['page']を認識しません。毎回空になるだけです。
私はApacheコードに関しては最高ではないので、どこで問題が発生したかを誰かに教えてもらえますか?
phpで変数を取得するために使用しているコードは次のとおりです。
$category = $_GET['category'];
$page = $_GET['page'];
また、誰かが私がそれを最適化して、任意の数のパラメーターで機能できるようにするのを手伝ってくれるなら、それはさらに良いでしょう。
ありがとう!