2009-10-14 6 views
3

저는 PHP로 일하고 있습니다. 아래처럼 .htaccess 파일이 있고 404 오류 페이지가 아닌 홈페이지로 리디렉션됩니다./여기에서 문제가 될 수있는 것은 무엇입니까? 감사합니다! 고마워요!404 오류 페이지가 아닌 홈페이지로 리디렉션 중!

ErrorDocument 404 /new/err404.html 
RewriteEngine On 
RewriteBase /new/ 

RewriteRule ^login.html$ index.php?s=login&a=loginDo [QSA,L] 
RewriteRule ^logout.html$ index.php?s=login&a=logoutDo [QSA,L] 
RewriteRule ^([^/]*).html$ index.php?s=$1 [QSA,L] 
RewriteRule ^members/([^/]*)$ index.php?s=profile&username=$1 [QSA,L] 
RewriteRule ^([^/]*)/$ index.php?s=listing&search[cityString]=$1 [QSA,L] 
RewriteRule ^([^/]*)/([^/]*)/$ index.php?s=listing&search[neighborhoodString]=$2 [QSA,L] 
RewriteRule ^([^/]*)/([^/]*)/([^/]*).html$ index.php?s=details&seo_friendly=$3 [QSA,L] 

답변

4

URL 경로 또는 경로 접두어 /new/없이 오류 문서 /new/err404.htmlerr404.html입니다. 그리고 그것은 세 번째 규칙에 의해 일치됩니다. 당신은 그 규칙을 확장하고 같은 오류 문서를 제외 할 수

:

RewriteCond $1 !^err[45][0-9][0-9]$ 
RewriteRule ^([^/]*)\.html$ index.php?s=$1 [QSA,L] 
+0

너무 감사합니다 검보. 방금 /new/err404.html을 err404.html로 변경했습니다. 이제는 홈페이지로 리디렉션되지 않지만 404 페이지로 리디렉션되지 않습니다. 그것은 단지 "err404.html"을 내용에 쓰고 URL은 틀렸기 때문에 그대로 남습니다 :/ –

+4

@artmania : 오류시 리디렉션해서는 안됩니다. 404 상태 코드로 응답하는 것은 리디렉션하는 것과는 다른 의미가 있습니다. – Gumbo

+0

방금 ​​ErrorDocument 404 http://www.blabla.com/new/err404.html로 편집하여 정상적으로 작동합니다. 하지만 포럼에서 읽었을 때 도메인을 리디렉션하는 것은 좋지 않습니다. –

0

왜 당신이 당신의 404 오류에 대한 재 작성 규칙을 사용하려고를? 왜 그냥 사용하지 마세요 :

ErrorDocument 404 /new/err404.html 

첫 번째 줄에있는 것과 같은 이유는 무엇입니까? 404가 사용자가 가고자하는 디렉토리에 상대적으로 머물기를 원하십니까?

2

더 중요한 질문은 404 페이지를 홈페이지로 리디렉션하는 이유입니다.

사용자는 페이지가 죽었다/나쁘다는 것을 알아야하며 Google도 그렇습니다. 그리고 404가 어디에서 왔는지 조사해야합니다.

404를 홈페이지로 리디렉션하면 Google에 귀하의 링크가 A-ok임을 알리며, 리디렉션되는 링크 수에 따라 랭킹이 손상 될 수 있습니다. Google에서이를 중복 콘텐츠로 볼 수 있습니다.

5,000 페이지에 영향을 미치는 규칙을 작성한다고 가정 해 봅시다. 그러면 google이 나오고 똑같은 내용의 홈 페이지 인 5,000 개의 URL이 표시됩니다. 처음에는 홈페이지가 404로 시작한다는 것을 어떻게 알 수 있습니까?

404를 수정하십시오. 리디렉션이 필요한 합법적 인 콘텐츠가있는 경우 새 페이지 또는 사용할 수있는 가장 가까운 의미 페이지로 리디렉션하십시오.

+0

나는 당신이 질문을 오해했다고 생각합니다. Asker는 404 페이지를 홈페이지로 리디렉션하지 않고 사용하기를 원합니다. – Gray

0

그냥 리디렉션 페이지에 홈 페이지 코드를 통해 도메인과 페이지 이름을

ErrorDocument 404 http://www.yoursite.com/pagename.html 
-1

을 변경하여 htaccess로이 라인을보십시오. 홈 페이지 코드로 리디렉션 페이지의 코드를 변경하십시오. 따라서 /index.html과 홈 페이지와 동일한 코드를 가진 /404.html을 갖게됩니다. 그는 He

+1

나쁘다, 아주 나쁨 –

관련 문제