2014-04-21 4 views
1

나는 다음과 같은 htaccess로 코드를 가지고 : 나는 URL의 website.com/texas/houston/bfdsjfds에 가면마지막 폴더 htaccess로 후 모든 것을 제거

website.com/texas/houston 
website.com/new-york/new-york 
... 

:

RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteRule ^([^/\.]+)/([^/\.]+) index.php?task=location&state=$1&city=$2 [L] 

그것은 URL의 등에의를 , website.com/texas/houston URL과 동일한 내용을 얻습니다. 위의 예에서 "/ bfdsjfds"를 어떻게 제거 할 수 있습니까? 또는 당신은 /state/city에 맞게 최종 앵커 $를 사용할 수있는 404

답변

1

에 해당 페이지를 리디렉션 :

RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteRule ^([^/.]+)/([^/.]+)/?$ index.php?task=location&state=$1&city=$2 [L] 

이 자동으로 URL을 website.com/texas/houston/bfdsjfds 유형 (404)를 반환합니다.

+0

이미 시도했지만이 코드에서는 작동하지 않습니다. 나는 이미 (성공과 함께) 다른 재 작성 규칙을 위해 그것을 사용하고있다 : RewriteRule^contact? $ index.php? task = contact [L]. 하지만 내 질문에서 코드에서 작동하지 않습니다. – OsiriX

+0

댓글을 조금 더 명확하게 할 수 있습니까? 어떤 URL에 대해 작동하지 않습니까? 작동하지 않을 때 어떤 문제가 발생합니까? 그렇다면 더 많은 규칙을 가지고 있습니까? 그렇다면 질문에 게시하십시오. – anubhava

+0

방금 ​​내가 얼마나 바보인지 깨달았습니다. 당신의 해결책은 효과가 있습니다! 나는 개회 질문에 표시된 것과 다른 재 작성 규칙을 가지고 있었다. 나는 그것들을 작동시키기 위해서 모든 사람들에게 "? $"을 덧붙여 야했다. 당연히 당연한 것입니다. 고마워요! – OsiriX