2016-09-27 7 views
1

ich will .htaccess schreiben zeigen url mit gemeinsamen prasseln zum Beispiel.htaccess mehr URL-Variable

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 unter meinem .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] 

ist, wie können wir es reparieren bitte Anleitung, um es zu beheben

+2

ändern 'mypage/page/([^ /] *)/categroy/([^ /] *)' auf 'mypage/page/([^ /] *)/Kategorie/([^ /] *) '(Miss getippte' category') –

+0

nein bro das ist kein Problem, ich korrigierte Tippfehler in Frage – gaurav

Antwort

1

Sie haben einen Tippfehler, aber noch wichtiger, Sie fehlen Anker in Ihrem Regex. Sie können:

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] 
+0

ist, dass [L, QSA] fehlte – gaurav

+0

'QSA' ist Query String append. Hat diese Antwort funktioniert? – anubhava