URL이 내 관리 영역의 일부인지 확인하는 간단한 방법이 있습니다.URL localhost 대 온라인 구문 분석
protected function is_admin_url ($url) {
$parts = parse_url($url);
if (!empty($parts['path'])) {
$steps = explode('/', $parts['path']);
if ($steps[1] == $this->slug) // $steps[0] will always be empty
return true;
}
return false;
}
그것은 형태 http://example.com/slug/foo?bar=baz
난 데 문제는 내 로컬 컴퓨터에서 개발하는 동안 (WAMP를 사용) 것입니다 모든 URL 형태 http://localhost/example.com/slug/foo?bar=baz
에에있는 URL에 대한 true
를 반환해야합니다. 이것은 물론 도메인이 이제 경로의 일부이기 때문에이 메서드를 중단합니다.
하드 코딩은 배열 색인을 통해 버그를 유발합니다. 이 문제를 처리하기 위해 추가 할 수있는 조건문이 있습니까?
참고로, 이것은 WordPress 용 플러그인의 일부입니다. 사이트 URL을 알 수 없습니다.
점 방식은 이론적으로 작동하지만 내 슬러그는 설정 가능한 매개 변수입니다. 폴더 이름에는 점이 허용되어 이러한 접근 방식에 문제가 있다고 생각합니다. 나는 REMOTE_ADDR의 가치를 믿어서는 안된다. – Twifty
아무것도 반환 할 수 있기 때문에. 어때요 ":: 1"또는 서버 온라인 IP. 물론 내 컴퓨터 설정을 사용하도록 구성 할 수 있지만 다른 컴퓨터에서 코딩하면 잘못된 결과가 발생할 수 있습니다. – Twifty
어쨌든 다른 것을 원하면'$ _SERVER [ 'SERVER_NAME'] === "localhost"'를 사용하여 많은 문제가 생길 것 같지 않습니다. 또한,에 대해 REMOTE_ADDR : http://stackoverflow.com/a/4773981/653378 – evuez