리디렉션합니다. 제 생각에는 PHP와 정규 표현식을 처음 접했습니다.정규식 구문 분석 하위 도메인과 지금은 거의 2 시간 동안이 문제를 알아 내기 위해 노력하고 그것이 내가 당신의 일부가 나를 도울 수 있기를 바랍니다 그렇게 작동되지 수
내가 하위 도메인의 텍스트를 기반으로 특정 페이지로 리디렉션됩니다 리디렉션 설정에 노력하고, 그래서 좋아. 내 하위 도메인에 대한 와일드 카드 설정이 있고 하위 도메인 URL은 이제 아래 코드가 포함 된이 PHP 파일로 리디렉션됩니다. 누군가가 anytexthere.domain.com에 오면
그래서 그들은이 PHP 파일이 올바른 해당 URL로 보내는 데 사용됩니다 domain.com/redirect.php에 도착. 그리고 .domain 전에 -
내가 같은 anythinghere-1.domain.com 같은 하위 도메인을 사용하고 후 하위 도메인에 표시되는 내용을 내 코드 체크를해야 할 것입니다이 작업을 수행합니다. 이 경우 같으면 1과 일치하는 URL로 이동하십시오.코드 지금까지 :
<?php
$host = $_SERVER['SERVER_NAME'];
preg_replace('(?<=-).*?(?=\.)', $host, $matches);
$url = $matches;
switch ($url)
{
case "1":
header("Location: http://www.website.com/page-here/");
break;
case "test":
header("Location: http://www.website.com/this-is-a-test/");
break;
case "another":
header("Location: http://www.website.com/another-page-here/");
break;
default:
header("Location: http://www.website.com");
break;
}
?>
당신은 내가이 후 텍스트 또는 숫자를 사용하기로 선택한 경우 내가 일을해야하기 때문에이 경우 그 사용 텍스트 예 : "다른"대신 번호를 볼 수 있듯이 - 하위 도메인에 있습니다.
지금 나에게 다음과 같은 오류주고있다대로이 코드 :
는경고 : preg_replace이다가() [function.preg이-교체] : '.'알 수없는 수정을 라인 thelocationhere 4
및
경고 : 헤더 정보를 수정할 수 없습니다 - 이미가 보낸 헤더 (출력 thelocationhere에서 시작 : 4) thelocationagain에 줄에 내가 믿는 22
위의 두 번째 오류는 기본 경우와 관련이 있습니다.
나는 정말 어떤 도움을 주셔서 감사합니다. 코드 조각을 모두 검색하고 테스트하는 데 많은 시간을 할애했지만 독자적으로 작동하지는 못했습니다.
덕분에, 피터
두 번째 오류는 이미 뭔가를 보냈기 때문에 (첫 번째 오류). 첫 번째 오류는 [구분 기호]가 누락 되었기 때문입니다 (http://us2.php.net/manual/en/regexp.reference.delimiters.PHP) 귀하의 정규식에 (결과적으로, 그것은'()'구분 기호로 가정하고 그 후에'.'로 무엇을 해야할지 모르겠다. – Wiseguy