2012-03-02 5 views
4

사이트가 재개발되었으며 URL이 완전히 다릅니다. 수백 또는 301 번 (원래 URL의 대부분은 매우 길었습니다. 이유는 알지 못합니다) 및 일부 리디렉션이 발생하고 다른 리디렉션이 이상한 URL로 이어지는 재미있는 결과가 나타납니다. ,.htaccess의 301 리디렉션이 우선 순위가되어야합니까?

redirect 301 /News/Smart-Site-Waste-Management.aspx http://... 
redirect 301 /News/tabid/96/tagid/68/damaged-doors.aspx http://... 
redirect 301 /News/tabid/96/EntryId/91/Smart-Site-Waste-Management.aspx http://... 
redirect 301 /News/tabid/96/EntryId/156/Plastic-Surgeon-hits-the-headlines.aspx http://... 
redirect 301 /News/RepairoftheWeek/tabid/194/tagid/78/Gallery/RepairoftheWeek/tabid/194/EntryId/221/Scratched-laminate-floor-repair.aspx http://... 

그래서 내 실제 질문 인 "작은"URL을 (이하 디렉토리 레벨을 가진 사람)이 순서 아래로 낮은해야합니다.에 갈 수있는 특정 순서 (301)의 필요가 있다면 예를 들어 궁금 해서요 보다 구체적인 URL이 더 높습니까? 필자의 본능은 위와 같이 설정하면 모든 URL이 모두 "뉴스 /"로 시작하므로 처음에는 지정된 링크로 연결됩니다. 이것은 내가 실제로보고있는 것입니다.

답변

3

가장 구체적인 것은 맨 위에, 가장 구체적인 것은 맨 아래에 배치해야합니다. 또한 일치하는 규칙을 찾은 후에 Apache가 추가 다시 쓰기 규칙을 처리하지 않도록 각 리디렉션 규칙 후에 [L]을 사용하여 처리를 중지해야합니다.

.htaccess 파일을 게시 하시겠습니까? 당신은 또한 RedirectMatch 또는 리디렉션 지시와 상호 작용할 수있는 mod_rewrite를 RewriteEngine On를 사용하는 경우 예를 들어, 여러 일치 라인 (있는 경우

+0

대단히 감사합니다. 답변을 많이 보내 주셔서 감사합니다. 나는 각 규칙 후에 [L]이 필요하다는 것을 깨닫지 못했습니다. 완벽한 감각. 당신은 내가 복잡한 .htaccess 글쓰기에 꽤 새로운 것을 깨달았을지도 모른다. – user1245615

0

주문은 중요하다. 당신은 성능을 경험하게 될 것입니다

은 htaccess로에서 규칙의 100 단위를 분석 공격 파일, 특히 일치율이 낮을 경우 특히 그렇습니다. 현재 URI가/News로 시작하지 않으면 좋은 트릭은 으로 모든 리디렉션을 이동하는 것입니다. 이는 URI/News/...에 대해서만 구문 분석됩니다. 따라서 다른 URI 경로에서 벗어난 것입니다.

+0

도움 주셔서 감사합니다. 폴더 자체가 새 서버에 존재하지 않기 때문에 실제로 만들려는 각각의 .htaccess를 추가해야합니다. – user1245615

+0

.htaccess가 포함 된 스텁 News 디렉토리를 간단히 만들 수 있습니다. 이것이 의미하는 바는 URI에/News/경로를 포함하지 않은 요청의 90 % 이상이이 100 초의 다시 쓰기 규칙을 검색하는 다시 쓰기 엔진의 적중률을 가지고 있지 않다는 것입니다 – TerryE

관련 문제