얼마 전에 http://(mydomain)/Page_Title
과 같은 매우 짧은 URL로 MediaWiki 설치를 설정했습니다.MediaWiki의 영구 리디렉션 : 언제?
페이지가 / : http://(mydomain)//etc
으로 올바르게 열렸음에도 불구하고 제대로 작동하는지 확인했습니다.
이제 얼마 전부터이 작업이 중단되었음을 알았습니다. 대신, MW 1.26 미만 및 1.27과 3.14.3 HHVM Nginx의 1.10.1 http://(mydomain)//etc
심지어 http://(mydomain)/w/index.php?title=/etc
대한 답변 http://(mydomain)//etc
에 원형 영구 리디렉션 (부호 (301))를 제공한다. 리디렉션은하지 미디어 위키의 nginx이 아니라 HHVM에 의해 때문에 에 의해 발행된다. 내가 미디어 위키 구성에서 뭔가를 파손 여부를 모르는
는 (그것은 큰, 그래서 나는 그것을 제공하지 않습니다) 또는 새로운 버그가 미디어 위키 또는 HHVM에 도입되었다.
내 질문은 : 장소 (파일 또는 클래스)가 인 MediaWiki 간단한 코드보기로 301 코드로 회신 할 수있는 핵심 코드가 어디에 있습니까?이 동작에 영향을주는 구성 설정을 볼 수 있습니까?
리디렉션의 대상이 무엇인지 더 흥미로울 것이므로 전체 헤더 또는 적어도 'Location :'헤더 만 제공하십시오.) Btw .: 거의 모든 코드가 301 리디렉션을 내보낼 수 있지만 (OutputPage :: redirect()는 기본적으로 302 리다이렉션을 내 보낸다) 간단한 검색만으로 도움이된다. MediaWiki 코어에서 301 개의 리디렉션이있는 곳이 2 곳 밖에없는 것 같습니다. – Florian
... 둘 다 관련이없는 것 같습니다 (https://github.com/wikimedia/mediawiki/blob/bd619f02525f27beba1b17d6dc1ab23a3b0e12cc/includes/MediaWiki. php # L234 -> 외부 링크, 외부 Interwiki) 및 https://github.com/wikimedia/mediawiki/blob/8f9643d8f9e12b0d0bc592b1af5313ffaed12ba9/includes/specials/SpecialContributions.php#L176 -> RSS/Atom 피드 리디렉션). – Florian
리디렉션이 일어날 수있는 곳이 많지만, 대부분의 범용 리디렉션 코드는'MediaWiki :: performRequest()'에 있습니다. 어쨌든'OutputPage :: redirect()'에 대한 로깅 호출을 추가하는 것이 가장 좋은 방법 일 것입니다. 편리한 호출자 로깅을 위해'wfDebugLog()'와'wfGetAllCallers()'를 보라. – Tgr