2014-02-05 2 views
0

Google 웹 사이트에는 새로운 URL 구조가 있으며 mod rewrite를 사용하여 일부 페이지 리디렉션이 필요합니다.모드 다시 쓰기 301 리디렉션

이전 URL

www.example.com/en/car-parts/159-black-toyota-convertable.html

새 URL

www.example.com/cars-parts /black-toyota-convertable.html

는 새 URL 위에서 볼 수 있듯이 제거합니다

/EN/ /159-

en은 언어이고 159-는이 두 제품을 모두 제거해야하는 ID입니다.

아래를 시도했지만 기쁨은 없습니다.

RewriteRule ^en/([0-9]+)-([^/.]+)/?$ /$1 

위는 나에게 결과를 제공합니다

/159

어떤 하나의 아이디어하시기 바랍니다있어?

감사 규칙 $ (1)

J

답변

0

은 $ 2 subparttern ([0-9]+)하지 ([^/.]+)의 캡처의 결과이다.

RewriteRule ^en/\d+-([^/.]+)/?$ /$1 [L,R=permanent] 

이 간단한 작업의 경우 RedirectMatch을 사용할 수도 있습니다.

+0

감사합니다. 도움을 주셔서 감사합니다. 귀하의 제안을 시도했지만 나에게도 $ 1에서 $ 2로 변경했을 때 제안을 시도했지만 나에게도 여전히/159 –

+0

캐시를 지울 수 없습니까? 당신의 예제에 따르면,이 규칙은 결코 일치하지 않습니다. 왜냐하면 1) 'car-parts'부분이 처리되지 않기 때문입니다. 2) 확장에있는 점에 대한 idem입니다. 규칙은 다음과 같이되어야합니다 :'RewriteRule^en/([^ /] +)/\ d + - ([^ /] +) /? $/$ 1/$ 2 [L, R = 영구]' – julp

+0

예 오른쪽/자동차 부품을 놓친/Mod ReWrite 테스터에서 규칙을 실행합니다 : http://martinmelin.se/rewrite-rule-tester/ 여전히 그걸로 아무 기쁨. –