2016-04-07 25 views
2

benim htaccess dosyasında basit Redirect vardır:Bu yönlendirme neden geçerlidir?

Redirect 301 /foobar /johndoe/foobar 

maalesef bu url:

/foobar/barfoo da yönlendiriliyordur - neden? Anlayışımda, Redirect komutunu kullanırken yalnızca /foobar yönlendirilmelidir, değil mi?

Ben Redirect URL en az benim testler söylemek (mevcut yolun başında olduğunu kontrol etmek eğer sadece kontrol görünüyor, bu Sonradan anlaşıldı ki RewriteRule s

+0

Dokümantasyon, beklediğiniz gibi davranması gerektiğini doğrular gibi görünüyor: https://httpd.apache.org/docs/current/mod/mod_alias.html#redirect Bütün örnekler, belki de denemeye değer alıntılar kullanıyor out ('Redirect 301 '/ foobar" ... ') –

+0

@Pekka 웃 gerçekten? Bu çorba benim tuz döküyor hissediyorum: 'Sonra URL-Yolu ile başlayan herhangi bir istek de 'RedirectMatch' de kullanarak bir yönlendirme isteği ' – Alex

+0

iyi bir iade dönecektir, aynı zamanda çalışır :) – Alex

cevap

1

yazı daha rahat olduğunu hissetmek dokümantasyon% 100 net değildir). da çalışır RedirectMatch basit

Ama RewriteRule (bu olabilir çünkü gereğinden fazla) kullanmaktan kaçınmak için,:

RedirectMatch 301 "^/foobar$" "/johndoe/foobar" 

hala bu "regex" olmadan çözmek mümkün isnt ve ister ek öneriler müteşekkir olacaktır/veya RewriteRule