Jeremyb has uploaded a new change for review.

  https://gerrit.wikimedia.org/r/104984


Change subject: fix redirects for percent-encoded destinations
......................................................................

fix redirects for percent-encoded destinations

apparently apache was urldecoding and reencoding and garbled on the
way and clients were sent to the wrong destination

first fixed generated conf for 2 entries and tested and they worked

then fixed the php and the new conf for those 2 entries was
identical to what was tested

Change-Id: Ibd3c0e506235487dfe9e7834ae05d4012b9c6c4c
---
M redirects.conf
M refreshDomainRedirects
2 files changed, 10 insertions(+), 10 deletions(-)


  git pull ssh://gerrit.wikimedia.org:29418/operations/apache-config 
refs/changes/84/104984/1

diff --git a/redirects.conf b/redirects.conf
index 9cd8bae..5780415 100644
--- a/redirects.conf
+++ b/redirects.conf
@@ -443,28 +443,28 @@
        # Type: wildcardOverride
        # override      *wikipedie.cz/Experti_na_prirodu        
//cs.wikipedia.org/wiki/Wikipedie:WikiProjekt_Chráněná_území/Experti_na_přírodu
        RewriteCond %{HTTP_HOST} =wikipedie.cz
-       RewriteRule ^/Experti_na_prirodu$ 
%{ENV:HTTP_X_Forwarded_Proto}://cs.wikipedia.org/wiki/Wikipedie:WikiProjekt_Chr%C3%A1n%C4%9Bn%C3%A1_%C3%BAzem%C3%AD/Experti_na_p%C5%99%C3%ADrodu
 [R=301,L,NE]
+       RewriteRule ^/Experti_na_prirodu$ 
%{ENV:HTTP_X_Forwarded_Proto}://cs.wikipedia.org/wiki/Wikipedie:WikiProjekt_Chr\%C3\%A1n\%C4\%9Bn\%C3\%A1_\%C3\%BAzem\%C3\%AD/Experti_na_p\%C5\%99\%C3\%ADrodu
 [R=301,L,NE]
        # override      *wikipedie.cz/Experti_na_prirodu        
//cs.wikipedia.org/wiki/Wikipedie:WikiProjekt_Chráněná_území/Experti_na_přírodu
        RewriteCond %{HTTP_HOST} ^(.+)\.wikipedie\.cz$
-       RewriteRule ^/Experti_na_prirodu$ 
%{ENV:HTTP_X_Forwarded_Proto}://cs.wikipedia.org/wiki/Wikipedie:WikiProjekt_Chr%C3%A1n%C4%9Bn%C3%A1_%C3%BAzem%C3%AD/Experti_na_p%C5%99%C3%ADrodu
 [R=301,L,NE]
+       RewriteRule ^/Experti_na_prirodu$ 
%{ENV:HTTP_X_Forwarded_Proto}://cs.wikipedia.org/wiki/Wikipedie:WikiProjekt_Chr\%C3\%A1n\%C4\%9Bn\%C3\%A1_\%C3\%BAzem\%C3\%AD/Experti_na_p\%C5\%99\%C3\%ADrodu
 [R=301,L,NE]
        # override      *wikipedie.cz/Experti-na-prirodu        
//cs.wikipedia.org/wiki/Wikipedie:WikiProjekt_Chráněná_území/Experti_na_přírodu
        RewriteCond %{HTTP_HOST} =wikipedie.cz
-       RewriteRule ^/Experti\-na\-prirodu$ 
%{ENV:HTTP_X_Forwarded_Proto}://cs.wikipedia.org/wiki/Wikipedie:WikiProjekt_Chr%C3%A1n%C4%9Bn%C3%A1_%C3%BAzem%C3%AD/Experti_na_p%C5%99%C3%ADrodu
 [R=301,L,NE]
+       RewriteRule ^/Experti\-na\-prirodu$ 
%{ENV:HTTP_X_Forwarded_Proto}://cs.wikipedia.org/wiki/Wikipedie:WikiProjekt_Chr\%C3\%A1n\%C4\%9Bn\%C3\%A1_\%C3\%BAzem\%C3\%AD/Experti_na_p\%C5\%99\%C3\%ADrodu
 [R=301,L,NE]
        # override      *wikipedie.cz/Experti-na-prirodu        
//cs.wikipedia.org/wiki/Wikipedie:WikiProjekt_Chráněná_území/Experti_na_přírodu
        RewriteCond %{HTTP_HOST} ^(.+)\.wikipedie\.cz$
-       RewriteRule ^/Experti\-na\-prirodu$ 
%{ENV:HTTP_X_Forwarded_Proto}://cs.wikipedia.org/wiki/Wikipedie:WikiProjekt_Chr%C3%A1n%C4%9Bn%C3%A1_%C3%BAzem%C3%AD/Experti_na_p%C5%99%C3%ADrodu
 [R=301,L,NE]
+       RewriteRule ^/Experti\-na\-prirodu$ 
%{ENV:HTTP_X_Forwarded_Proto}://cs.wikipedia.org/wiki/Wikipedie:WikiProjekt_Chr\%C3\%A1n\%C4\%9Bn\%C3\%A1_\%C3\%BAzem\%C3\%AD/Experti_na_p\%C5\%99\%C3\%ADrodu
 [R=301,L,NE]
        # override      *wikipedie.cz/experti_na_prirodu        
//cs.wikipedia.org/wiki/Wikipedie:WikiProjekt_Chráněná_území/Experti_na_přírodu
        RewriteCond %{HTTP_HOST} =wikipedie.cz
-       RewriteRule ^/experti_na_prirodu$ 
%{ENV:HTTP_X_Forwarded_Proto}://cs.wikipedia.org/wiki/Wikipedie:WikiProjekt_Chr%C3%A1n%C4%9Bn%C3%A1_%C3%BAzem%C3%AD/Experti_na_p%C5%99%C3%ADrodu
 [R=301,L,NE]
+       RewriteRule ^/experti_na_prirodu$ 
%{ENV:HTTP_X_Forwarded_Proto}://cs.wikipedia.org/wiki/Wikipedie:WikiProjekt_Chr\%C3\%A1n\%C4\%9Bn\%C3\%A1_\%C3\%BAzem\%C3\%AD/Experti_na_p\%C5\%99\%C3\%ADrodu
 [R=301,L,NE]
        # override      *wikipedie.cz/experti_na_prirodu        
//cs.wikipedia.org/wiki/Wikipedie:WikiProjekt_Chráněná_území/Experti_na_přírodu
        RewriteCond %{HTTP_HOST} ^(.+)\.wikipedie\.cz$
-       RewriteRule ^/experti_na_prirodu$ 
%{ENV:HTTP_X_Forwarded_Proto}://cs.wikipedia.org/wiki/Wikipedie:WikiProjekt_Chr%C3%A1n%C4%9Bn%C3%A1_%C3%BAzem%C3%AD/Experti_na_p%C5%99%C3%ADrodu
 [R=301,L,NE]
+       RewriteRule ^/experti_na_prirodu$ 
%{ENV:HTTP_X_Forwarded_Proto}://cs.wikipedia.org/wiki/Wikipedie:WikiProjekt_Chr\%C3\%A1n\%C4\%9Bn\%C3\%A1_\%C3\%BAzem\%C3\%AD/Experti_na_p\%C5\%99\%C3\%ADrodu
 [R=301,L,NE]
        # override      *wikipedie.cz/experti-na-prirodu        
//cs.wikipedia.org/wiki/Wikipedie:WikiProjekt_Chráněná_území/Experti_na_přírodu
        RewriteCond %{HTTP_HOST} =wikipedie.cz
-       RewriteRule ^/experti\-na\-prirodu$ 
%{ENV:HTTP_X_Forwarded_Proto}://cs.wikipedia.org/wiki/Wikipedie:WikiProjekt_Chr%C3%A1n%C4%9Bn%C3%A1_%C3%BAzem%C3%AD/Experti_na_p%C5%99%C3%ADrodu
 [R=301,L,NE]
+       RewriteRule ^/experti\-na\-prirodu$ 
%{ENV:HTTP_X_Forwarded_Proto}://cs.wikipedia.org/wiki/Wikipedie:WikiProjekt_Chr\%C3\%A1n\%C4\%9Bn\%C3\%A1_\%C3\%BAzem\%C3\%AD/Experti_na_p\%C5\%99\%C3\%ADrodu
 [R=301,L,NE]
        # override      *wikipedie.cz/experti-na-prirodu        
//cs.wikipedia.org/wiki/Wikipedie:WikiProjekt_Chráněná_území/Experti_na_přírodu
        RewriteCond %{HTTP_HOST} ^(.+)\.wikipedie\.cz$
-       RewriteRule ^/experti\-na\-prirodu$ 
%{ENV:HTTP_X_Forwarded_Proto}://cs.wikipedia.org/wiki/Wikipedie:WikiProjekt_Chr%C3%A1n%C4%9Bn%C3%A1_%C3%BAzem%C3%AD/Experti_na_p%C5%99%C3%ADrodu
 [R=301,L,NE]
+       RewriteRule ^/experti\-na\-prirodu$ 
%{ENV:HTTP_X_Forwarded_Proto}://cs.wikipedia.org/wiki/Wikipedie:WikiProjekt_Chr\%C3\%A1n\%C4\%9Bn\%C3\%A1_\%C3\%BAzem\%C3\%AD/Experti_na_p\%C5\%99\%C3\%ADrodu
 [R=301,L,NE]
        # override      *careers.wikipedia.org/ 
//wikimediafoundation.org/wiki/Work_with_us
        RewriteCond %{HTTP_HOST} =careers.wikipedia.org
        RewriteRule ^/$ 
%{ENV:HTTP_X_Forwarded_Proto}://wikimediafoundation.org/wiki/Work_with_us 
[R=301,L,NE]
@@ -859,7 +859,7 @@
        RewriteRule . %{ENV:HTTP_X_Forwarded_Proto}://www.wikimedia.cz/ 
[R=301,L,NE]
        # funnel  kr.wikimedia.org    //meta.wikimedia.org/wiki/위키미디어_대한민국
        RewriteCond %{HTTP_HOST} =kr.wikimedia.org
-       RewriteRule . 
%{ENV:HTTP_X_Forwarded_Proto}://meta.wikimedia.org/wiki/%EC%9C%84%ED%82%A4%EB%AF%B8%EB%94%94%EC%96%B4_%EB%8C%80%ED%95%9C%EB%AF%BC%EA%B5%AD
 [R=301,L,NE]
+       RewriteRule . 
%{ENV:HTTP_X_Forwarded_Proto}://meta.wikimedia.org/wiki/\%EC\%9C\%84\%ED\%82\%A4\%EB\%AF\%B8\%EB\%94\%94\%EC\%96\%B4_\%EB\%8C\%80\%ED\%95\%9C\%EB\%AF\%BC\%EA\%B5\%AD
 [R=301,L,NE]
        # funnel        pk.wikimedia.org        
//meta.wikimedia.org/wiki/Wikimedia_Community_User_Group_Pakistan
        RewriteCond %{HTTP_HOST} =pk.wikimedia.org
        RewriteRule . 
%{ENV:HTTP_X_Forwarded_Proto}://meta.wikimedia.org/wiki/Wikimedia_Community_User_Group_Pakistan
 [R=301,L,NE]
diff --git a/refreshDomainRedirects b/refreshDomainRedirects
index 5ea465a..be350e1 100755
--- a/refreshDomainRedirects
+++ b/refreshDomainRedirects
@@ -225,7 +225,7 @@
                $dest = preg_replace_callback( 
                        '/[\x80-\xff]/',
                        function ($matches) {
-                               return urlencode( $matches[0] );
+                               return '\\' . urlencode( $matches[0] );
                        },
                        $dest );
 

-- 
To view, visit https://gerrit.wikimedia.org/r/104984
To unsubscribe, visit https://gerrit.wikimedia.org/r/settings

Gerrit-MessageType: newchange
Gerrit-Change-Id: Ibd3c0e506235487dfe9e7834ae05d4012b9c6c4c
Gerrit-PatchSet: 1
Gerrit-Project: operations/apache-config
Gerrit-Branch: master
Gerrit-Owner: Jeremyb <jer...@tuxmachine.com>

_______________________________________________
MediaWiki-commits mailing list
MediaWiki-commits@lists.wikimedia.org
https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits

Reply via email to