2009-03-11 14 views
2

Nasıl Kullanılır BenRewriteCond'ın BackReferencing% N

RewriteEngine on 
     RewriteBase/
     RewriteCond %{QUERY_STRING} password=* 
     RewriteCond %{QUERY_STRING} bi2=(.*) 
     RewriteCond %{REQUEST_URI} /myGet.php(.*)$ 
     RewriteRule ^(.*)$ http://blog.myexample%1.com/$1 

Ancak, ben URI

/myGet.php?password=john & İsteği çalıştırıldığında benim httpd.conf aşağıdaki kurallar Bi2 = 67

Ben

yönlendirildi yerine

http://blog.myexample67.com/myGet.php?password=john&bi2=67

ait

http://blog.myexample.com/myGet.php?password=john&bi2=67

O RewriteCond BackReferencing için o% N çalışmıyor gibi görünüyor. $ N, olmasına rağmen.

cevap

3

son yönergesi bilgi istediğiniz bir şekilde sipariş veya RewriteCond direktifleri Alter:

RewriteCond %{QUERY_STRING} password=* 
RewriteCond %{REQUEST_URI} /myGet.php(.*)$ 
RewriteCond %{QUERY_STRING} bi2=(.*) 
RewriteRule ^(.*)$ http://blog.myexample%1.com/$1 

Ama doğrusu önermek: Bu tür olmadığından emin

RewriteCond %{QUERY_STRING} password= 
RewriteCond %{QUERY_STRING} bi2=([^&]*) 
RewriteRule ^/myGet\.php.*$ http://blog.myexample%1.com$0 
+0

Hmm, yeniden sıralama yapmak herhangi bir yarar sağlar ya da değil .. ikinci son% 2 geri tepme değerini almam gerekiyorsa ne olur? – Graviton

+0

Bunu yapmanın başka yolu yok. Ya da en azından: Bunu yapmak için başka bir yol bilmiyorum. “Şifre” ye de ihtiyacınız varsa, değeri RewriteCond yönergeleriyle taşımak veya bunları tek bir ifadeyle birleştirmek için bazı numaralar kullanmanız gerekir. – Gumbo

İlgili konular