2015-01-11 3 views
0

외부 링크가 많은 10 년 전 웹 사이트가 있습니다..htaccess 경로의 숫자 ID를 제거하는 규칙을 다시 작성합니다.

URL 형식은 top-level/show/12345/text-name입니다.

나는 시스템을 업그레이드하는 중이고 새로운 시스템은 12345 숫자 ID가있는 사용자 친화적 인 URL을 더 많이 지원합니다. top-level/show/text-name.

텍스트 이름을 보존하면서 기존 콘텐츠를 이전 할 계획입니다.

경로에서 /12345 레벨을 제거하려면 .htaccess에서 어떻게 지정해야합니까? 12345는 임의의 수, 수천이 될 수 있습니다.

+0

당신이 도움이 될만한 것을 게시 할 수 있습니까? – MZaragoza

답변

0

사이트의 이전 URL이 이미 자동으로 변경되지 않는 한 변경하십시오. mod_rewrite가 활성화되어 작동하는지 확인하십시오 (FollowSymLinks가 허용되어야합니다). 예상대로 리디렉션이 작동하는지 테스트 한 후 R=301

RewriteEngine on 
RewriteRule ^show/[0-9]+/([^/]+)/?$ show/$1 [R,L] 

변경 R 플래그 : 그런 다음 규칙을 추가합니다. 이것을 변경하면 영구 리디렉션으로 표시됩니다. 모든 사용자에게 북마크를 업데이트해야 함을 상기시켜야 할 수도 있습니다.

+0

Thanks @ Sumurai8, 이것이 완벽하게 작동했습니다!^show/([0-9] +)/(. +)/show/$ 2 [R = 301]은 끝에 사용됩니다. – Deuce

+0

'L' 플래그도 사용해야합니다 (따라서'[R = 301, L]'로 끝납니다). 그렇지 않으면 Apache는 다른 규칙을 계속 읽게되어 나중에 규칙을 추가 할 때 이상한 동작이 발생할 수 있습니다. – Sumurai8

+0

또한 [이 도움말 항목] (http://stackoverflow.com/help/someone-answers)을 참조하십시오. – Sumurai8

관련 문제