2011-11-21 29 views
22

Apache .htaccess ile yeniden yönlendirmeye çalışıyorum. Ben oldukça iyi çalışıyorYalnızca tam URL eşleştiğinde nasıl yönlendirilir?

redirectMatch 301 /user http://clients.mydomain.com 

aşağıdaki kodları var, ama "/ user/login""http://clients.mydomain.com/login" yönlendirilmesini istemiyoruz .

Nasıl önleyebilirim?

cevap

37

Basit

$ söyler url başlangıcını maç için başına bir ^ ve

^ söyler ucuna bir $ regex söyler eklemek eşleştirmek için regex söyler url

Artık kuralınız yalnızca ltak /user değil /some/user veya /user/name veya /some/user/name


NOT: eşleşme istiyorsanız/user/ ve /user sonra ^/user/?$

? önceki karakteri/gruba sıfır bir kez

maç için diyor kullanmak
+1

Sondanın kontrol edilmesi/iyi bir fikirdir. Firefox, bu yüzden/kullanıcı aslında/user/ – SomethingOn

+0

olarak geçirilmekte olduğunu düşünürseniz bile gizler. Ama eğer uzay karakterleriniz varsa? Bunları düzgün bir şekilde halletmek için çift tırnaklara ihtiyacın var. "Yönlendirme" ifadesinin regeeksinde '' 'ifadeleri kullanıldığında, sistemin kaçak bir alan yerine ekstra bir parametre olduğu düşünülür. Çift tırnak varsa, tam eşleşmeleri belirtmek için '^' veya '$' kullanamazsınız. – ahnbizcad

İlgili konular