我目前正在使用 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
这会将我的网址从:example.com?category=software&page=mobile 变成 example.com/software/mobile/
哪个工作正常,并且 php 文件能够 $_GET['category'] 正常;但是,由于某种原因,它无法识别 $_GET['page']; 它只会导致它每次都是空的。
在 Apache 代码方面我不是最好的,所以有人能告诉我哪里出错了吗?
我用于 php 来获取变量的代码很简单:
$category = $_GET['category'];
$page = $_GET['page'];
此外,如果有人可以帮助我优化它,使其适用于任意数量的参数,那就更好了。
谢谢!