2012-04-22 3 views
1

.htaccess가 url 패턴 기준을 충족하지 않는 모든 URL에 대해 404 오류를 반환하도록합니다. .htaccess에서 어떻게 할 수 있습니까? PHP 스크립트에서이 코드를 사용하여.htaccess - 404 오류

URL 위에 생성

$adscatcanonurl = "$script_url" . "/" . "{$vbasedir}$xcityid-$xcitynamealt/posts/$xcatid-$catname_inurl/". ("$xsubcatid"?"$xsubcatid-". RemoveBadURLChars($xsubcatname) :""); 

샘플 링크

http://www.domain.com/17-Netherlands/posts/8-Real-Estate/

의 스크립트가가와 일치하지 않는 것으로이 http://www.domain.com/17-Netherlands/posts/8/

같은 링크를 생성한다고 가정 해 봅시다 위의 url 패턴과 같은 url은 404 페이지가 아닌 응답을 반환해야합니다.

답변

1

.htaccess가 404를 반환하도록 강요 할 필요는 없습니다. 일치하지 않으면 .htaccess가 자체적으로 실행합니다. 그래서 당신은 같은 규칙을 사용할 수 있습니다

RewriteEngine On 
# Don't match real files 
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteCond %{REQUEST_FILENAME} !-f 

RewriteRule ^(\d+)-([a-zA-Z-]+)/posts/(\d+)-([a-zA-Z-]+)$ your_php_script.php?xcityid=$1&xcitynamealt=$2&xcatid=$3&xcatname_inurl=$4 [L,QSA] 

실제 파일 (CSS, JS 등)에 대한 아니며 어떤 규칙과 일치하지 않습니다 위의 규칙과 일치하지 않는 모든 요청을하고, 그러므로 등 $_GET['xcityid'] 같은 PHP에서 읽을 것입니다 무슨 규칙에, 나는에 4 개 구성 요소를 매핑하는 404

주를 반환해야