Reputation: 347
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
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