Welcome to ShenZhenJia Knowledge Sharing Community for programmer and developer-Open, Learning and Share
menu search
person
Welcome To Ask or Share your Answers For Others

Categories

I am have a clear URL based system so the categories will be shown like this

http://www.mysite.com/category/23/cat-name

Inside the categories page I have some sorting and pages options such as sorting by latests and lower price. Also, I have a pages navigation system

The problem is when the request is happening inside the page the $_GET[] doesn't show the variables I need. However it shows in the URL as

http://www.mysite.com/category/23/cat-name?page=3

The $_GET variable only shows the id of the category which is in our case now = 23 and ignored the page number which is in the url.

.htaccess content

RewriteEngine On
RewriteRule ^category/([0-9]+)/[a-z][-a-z0-9]*$ cat.php?id=$1
See Question&Answers more detail:os

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
thumb_up_alt 0 like thumb_down_alt 0 dislike
345 views
Welcome To Ask or Share your Answers For Others

1 Answer

You need to include the QSA flag at the end of your rule. This appends any existing query string to the one that you're constructing in the rule itself:

RewriteEngine On
RewriteRule ^category/([0-9]+)/[a-z][-a-z0-9]*$ cat.php?id=$1 [L,QSA]

So the rewritten URI should end up being: /cat.php?id=23&page=3


与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
thumb_up_alt 0 like thumb_down_alt 0 dislike
Welcome to ShenZhenJia Knowledge Sharing Community for programmer and developer-Open, Learning and Share
...