我想将带参数的url翻译成路径,即
http://www.example.com/?page=1 => http://www.example.com/1
http://www.example.com/?section=books&category=thriller&page=1 => http://www.example.com/books/thriller/1
然后我希望能够获得所有这些参数,以便在查询中使用它们,以便根据这些参数进行选择,我不知道从哪里开始,我该怎么做?我使用此.htaccess将我的所有请求重定向到index.php
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-l
RewriteRule ^(.*)$ index.php/$1 [QSA,L]
我怎样才能翻译"在查询中使用它们的一组参数的路径?
答案 0 :(得分:1)
你倒退了。您希望将请求作为http://www.example.com/books/thriller/1
从用户处获得,然后将 重写为index.php?qs=$1
以供PHP处理。这样用户就可以看到“友好”的URL,而PHP会看到对它友好的格式。
因此,您的重写规则将更改为:
RewriteRule ^(.*)$ index.php?qs=$1 [QSA,L]
然后您可以通过以下方式访问其内容:
$myQueryVars = explode('/', $_GET['qs']);
http://www.example.com/books/thriller/1
变为
array( 'books', 'thriller', '1' )
答案 1 :(得分:0)
我会做这样的事情......
RewriteRule ^([0-9]+)$ index.php?page=$1
RewriteRule ^([0-9a-zA-Z]+)/([0-9a-zA-Z]+)/([0-9]+)$ index.php?section=$1&category=$2&page=$3