2010-05-04 4 views
0

현재 CMS에서 게이트웨이 페이지 시스템을 제공하는 방식을 변경하려고합니다. 게이트웨이 페이지에서 .htaccess의 규칙을 다시 작성하여 존재하지 않는 URL을 페이지에 매핑하는 것입니다.게이트웨이 페이지 시스템

RewriteRule ^foobar$ page.php?mode=bar&method=foo&id=1 

이이 방법은 htaccess로 액세스에 의존한다는 것이다 사람들 등 문제 잡지 광고에 대한 CMS 페이지에 짧은 링크를 만들 수 있습니다. 코드 레벨에있는 메소드를 선호하지만 재 작성 규칙없이 404 오류가 호출됩니다. 이 문제를 방지하거나이 문제를 해결할 수있는 방법이 있습니까?

+0

.htaccess에 문제가 있습니까? 그것에 의존하는 것이 왜 문제가됩니까? – Ben

+0

새 리디렉션을 동적으로 추가해야하고 잘못된 구문으로 인해 500 개의 오류가 발생하는 경우 문제가 발생합니다. – robjmills

답변

4

htaccess 내에 rewritemap을 사용할 수 있습니다. 이것은 외부 파일/스크립트를 참조하여 들어오는 URI를 전달하고 다시 작성된 URI를 가져 오는 것입니다. 당신의 논리에 따라 - - PHP 파일이 짧은 URL 및 반환을 전달

#!/path/to/php 
$keyboard = fopen("php://stdin","r"); // get data from stdin 
while (1) { 
    $line = trim(fgets($keyboard)); 
    // fetch rewrite for line and echo out 
} 

당신의 PHP 파일 map.php에서 당신의 .htaccess

RewriteMap shorts prg:/path/to/map.php 

에서

전체 URL

+0

이 옵션이 마음에 들지만, 여전히 .htaccess 규칙이 다운되는 곳에서 오류가 발생하지만 잘못된 구문 = 500 오류가 발생합니다. – robjmills

+0

잘 모르겠습니다. 테스트를 실행해야합니다. 당신은 null을 반환하려고 할 수 있습니다, 어떻게 규칙을 처리하는지보십시오. 미안 해요, 조금 녹슬 었어요! –