gaurav
gaurav

Reputation: 347

.htaccess multiple url variable

i want to write .htaccess to show url with common patters for example

1: abc.com/mypage   --> works fine 
2: abc.com/mypage/page/1  --> works fine 
3: abc.com/mypage/category/2   --> works fine 
4: abc.com/mypage/page/1/category/2   --> not works fine

so below is my .htaccess code

RewriteRule mypage/page/([^/]*) /?p=main_page&page=$1 [L]
RewriteRule mypage/category/([^/]*) /?p=main_page&cid=$1 [L]
RewriteRule mypage/page/([^/]*)/category/([^/]*) /?p=main_page&page=$1&cid=$2 [L]
RewriteRule mypage /?p=main_page [L]

how can we fix it please guide way to fix it

Upvotes: 1

Views: 34

Answers (1)

anubhava
anubhava

Reputation: 784928

You have a typo but more importantly you are missing anchors in your regex. You can use:

RewriteEngine On

RewriteRule ^mypage/page/([^/]+)/?$ ?p=main_page&page=$1 [L,QSA]
RewriteRule ^mypage/categroy/([^/]+)/?$ ?p=main_page&cid=$1 [L,QSA]
RewriteRule ^mypage/page/([^/]+)/category/([^/]+)/?$ ?p=main_page&page=$1&cid=$2 [L,QSA]
RewriteRule ^mypage/?$ ?p=main_page [L,QSA]

Upvotes: 1

Related Questions