2011-07-07 7 views
0

페이지에서 충돌하는 쿼트 문자열에 문제가 있습니다. 및 website.com/photos/type/album-name/photo-id/htaccess 리디렉션 충돌 문제

website.com/photos/type/album-name/page-2/ : 예를 들어 페이지가 다음과 같이 할 수 있습니다

여기서 문제는 '페이지 -2'에 하나의 규칙이 적용되며 사진 ID에는 다른 규칙이 적용된다는 것을 알 수 있도록 작성하는 방법을 모르겠다는 것입니다.

내가 가지고있는

RewriteRule ^photos/([\w+.-]+)/([\w+.-]+)/([\w+.-]+)/?$ /photos.php?view=$1&slug=$2&page=$3 [QSA,L] 
RewriteRule ^photos/([\w+.-]+)/([\w+.-]+)/([0-9]+)/?$ /photos.php?view=$1&slug=$2&pid=$3 [QSA,L] 
+0

RewriteRule과 관련이있는 URI는 정확히 두 개입니까? 그렇다면 다시 쓰는 것이 너무 막연하고 두 번째 것은 잘못되었습니다 (끝에 맞는 숫자 만). 이 두 URI에 대해서만 구체적으로 설명하면 정규 표현식을 조정하여 작업 가능성을 높일 수 있습니다. – arkigos

+0

@arkigos는이 페이지의 유일한 두 가지 시나리오입니다. 그 두 URL 만. 어떤 제안? –

답변

1

대신 가능한 모든 쿼리 문자열에 대해 서로 다른 재 작성 규칙을 필요없이, 왜 당신이 일반화 된 재 작성을 가지고 응용 프로그램에서 쿼리 문자열을 처리하지 않는 것은?

또는 두 번째 쿼리의 경우,이 시도 :

RewriteRule ^photos/([\w+.-]+)/([\w+.-]+)/(page\-[0-9]+)/?$ /photos.php?view=$1&slug=$2&pid=$3 [QSA,L] 

URL이처럼 보일 것이다

website.com/photos/type/album-name/page-2/ -> 'page-'키워드를 사용하십시오.

+0

그것은 나를 위해 그것을했다! 감사! –