사용에 다른 구분 기호를 연결되어야 www.example.com/destination/us-united-state
RewriteRule ^destinations/([a-z]+)-(.+)-(.+)$ /b.php?a=$1&b=$2&c=$3 [NC]
에 연결해야 . www.example.com/destination/us-united-state
에있는 세 개의 분리 된 단어가 실제로 두세 개의 '사물'인지 여부를 감지 할 수있는 방법은 없습니다. 대신 구분 기호로 슬래시를 사용하는 조언 : www.example.com/destination/us/united-state
및 www.example.com/destination/us/united-state/california
.
규칙은 다음과 같습니다 이것은 /
문자 아무것도하지만, 일치하는, [^/]+
를 사용
RewriteRule ^destinations/([a-z]+)/([^/]+)/?$ /a.php?x=$1&y=$2 [NC]
RewriteRule ^destinations/([a-z]+)/([^/]+)/([^/]+)/?$ /b.php?a=$1&b=$2&c=$3 [NC]
. 이렇게하면 캡처 그룹이 us/united-states
과 일치하지 않게됩니다. 여기서 일치하는 숫자는 us
입니다. 이 컴퓨터에서 테스트 할 수 없으므로이 코드는 테스트되지 않았습니다.
첫 번째 규칙은 여전히 'www.example.com/destination/us-unitedstate-california'와 일치합니다. '[^ -] +'를 대신 사용하십시오. – Sumurai8
조명 응답에 감사드립니다. 나는 yr 제안을 그것을 시도 할 것이다! – user2666818
죄송합니다. 예, [^ -] +를 사용해야합니다.하지만 고쳐졌습니다. 고마워. – idfah