2009-09-30 2 views
0

[UPDATE] I 단지 불가능 아래 어떤 요청301 리디렉션 - 파일명의 일부와 일치

. 내 머리가 아파요로하는 경우에, 어떻게 단순히

에 mydomain/폴 데라/folderB/이름 0000.php

myNewDomain/folderC/folderB/name.php를 리디렉션 할 수 있습니다

[/ UPDATE]

나는 현재 일부 URL의있는 아래의 패턴을 따라 있습니다.

내용 /folder/folder2/name-name-id.php

이제 다른 파일 구조의 새 도메인으로 이동되었습니다. URL 리디렉션은 URL의 ID 부분이 이제는 다르다면 간단 할 것입니다. 도메인 B에

/folderA/folderA2/name-name-0000.php이에

을 :

은 그래서 도메인 A에서 다음 리디렉션 할 수 있어야합니다

/folderB/folderB2/name-name-5555.php

이름 부분을 일치시키고 ID를 무시하는 방법을 알아낼 수 없습니다. 참고로, 이름은 n 개의 단어 길이가 될 수 있으며 두 개로 제한되지 않습니다.

아이디어가 있으십니까?

+0

새 ID가 무엇인지 어떻게 알 수 있습니까? –

+0

그것에 대해 생각하고 나면 내가 한 일을 할 수 없습니다. Jeremy가 지적했듯이 새로운 ID를 모르므로 어디에서 가리킬 지 알 길이 없습니다. – Ben

답변

0

하면 URL 경로에 대해이 정규 표현식을보십시오 :

^/[^/]+/[^/]+/[^/]+-[0-9]+\.php$ 

이제 루트 디렉토리에 htaccess로 파일에 대한 당신의 mod_rewrite 규칙은 이름과 ID 일치하도록 다음과 같이 할 수 있습니다

RewriteRule ^folderA/folderA2/([^/]+)-([0-9]+)\.php$ … 

편집 요구 사항을 편집 한 후 :

RewriteRule ^folderA/([^/]+)/([^/]+)-[0-9]+\.php$ /folderC/$1/$2.php [L,R=301] 
+0

고마워요.하지만 새로운 ID를 모른 채로는 가능하지 않다고 생각합니다. – Ben

+0

예, 완벽하게 작동합니다. 도움과 신속한 대응 덕분입니다. – Ben