Mamy kilka bardzo podstawowych reguł mod_rewrite:mod_rewrite urlencoding już parametr kwerendy słupowo-zapytanej - jakikolwiek sposób wyłączyć to?
RewriteRule ^something.swf$ http://www.newdomain.com/something.swf [R=302,L]
mod_rewrite wydaje się wykonywać swoje zadania, a jeśli użytkownik ma dostęp:
something.swf?param=value
, jest przekierowywany poprawnie http://www.newdomain.com/something.swf?param=value
problem jest w tej sytuacji:
www.olddomain.com/something.swf?param=URL_ENCODED_VALUE
co się dzieje dzieje się mod_rewrite trwa to na to samo ponowne urlencode param ciąg kwerendy
więc co użytkownik kończy się to:
www.olddomain.com/something.swf?param=URL_ENCODED_VALUE
przekierowany do
www.newdomain.com/something.swf?param=URL_ENCODED_VALUE_OF_URL_ENCODED_VALUE
więc skończyć z podwójnie urlencoded wartość. boourns!
Chociaż rozumiem, że możemy wprowadzić regułę \?(.*)
... ?$1
dla tego, myślę, że musi istnieć sposób, aby powiedzieć mod_rewrite NIE urlenić parametry ciągu zapytania ... chcielibyśmy uniknąć stosowania 2 reguł ponieważ ważne ścieżki są:
something.swf (no query string)
i
something.swf?someparams...
tak tak, najlepiej ... tylko powiedzieć mod_rewrite: proszę, nie urlencoding z params ciąg kwerendy ... tylko bezpośredni pośredni do nowego adresu URL za pośrednictwem R=302
.
doh! odpowiedź brzmi: parametr NE. Przepraszam! –
Założę się, że tak. Czy możesz udzielić odpowiedzi i oznaczyć ją jako zaakceptowaną? (Sądzę, że jest na to czas, ale rób to tak szybko, jak możesz: P) –
Tak, muszę powiedzieć, że potrzebuję 100 powtórzeń, aby odpowiedzieć na moje własne pytanie w mniej niż 8 godzin. odpowie później. –