gaurav gaurav - 1 year ago 58
PHP Question

.htaccess multiple url variable

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

1: --> works fine
2: --> works fine
3: --> works fine
4: --> 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

Answer Source

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]