2014-12-12 2 views
2
내가 직면하고 문제는 내가 와일드 카드 도메인을 가지고있다

어디 즉모 와일드 카드 하위 도메인 리디렉션 문제

http://subdomain.domain.com 특정 URL에 대한 모든 하위 도메인을 리디렉션 할에 의해 재 작성 ->http://www.domain.com/pagination.php?id=subdomain&page=1

유사한 경우

http://subdomain.domain.com/page-2 ->http://www.domain.com/pagination.php?id=subdomain&page=2

및 제품 ID가

즉, 주어진다면

http://subdomain.domain.com/some_product_name-123 ->http://www.domain.com/productview.php?id=123

내 htaccess로 파일은 위의 규칙은 모든 리디렉션 ID로 빈 문자열과 마지막 규칙에 완료 페이지 규칙을 음식되지

RewriteCond %{http_host} . 
RewriteCond %{http_host} !^www.pricesinpakistan.com.pk [NC] 
RewriteCond %{http_host} ^([^.]+)\.pricesinpakistan.com.pk [NC] 
RewriteRule page-^([^/]*)$ pagination.php?id=%1&page=$2 [L] 
RewriteRule ^(.*)$ pagination.php?id=%1&page=1 [L] 

입니다.

답변

1
  • RewriteCond은 다음 RewriteRule에만 적용됩니다.
  • 정규식 패턴 중간에 앵커 ^을 사용할 수 없습니다.
  • 방문 페이지를 일치 시키려면 ^$을 URI 패턴으로 사용해야합니다.

대신 사용이 규칙 : // ([A-ZA-z0- :

RewriteCond %{http_host} !^www\.pricesinpakistan\.com\.pk$ [NC] 
RewriteCond %{http_host} ^([^.]+)\.pricesinpakistan\.com\.pk$ [NC] 
RewriteRule ^page-(\d+)/?$ pagination.php?id=%1&page=$1 [NC,L,QSA] 

RewriteCond %{http_host} !^www\.pricesinpakistan\.com\.pk$ [NC] 
RewriteCond %{http_host} ^([^.]+)\.pricesinpakistan\.com\.pk$ [NC] 
RewriteRule ^$ pagination.php?id=%1&page=1 [L,QSA] 

RewriteCond %{http_host} !^www\.pricesinpakistan\.com\.pk$ [NC] 
RewriteCond %{http_host} ^([^.]+)\.pricesinpakistan\.com\.pk$ [NC] 
RewriteRule ^(\w+)-(\d+)/?$ productview.php?catname=%1&productname=$1&productid=$2 [NC,L,QSA] 
+0

그것은 단 하나의 규칙이 지금 HTTP 남아 일, 페이지 1 :( – azimyasin

+0

감사를 전달 나를 유지 9] +). pricesinpakistan.com.pk/([A-Za-z0-9_]+)-([0-9]+)$ productview.php? catname = % 1 & productname = $ 1 & productid = $ 2 나를 똑같이 안내 할 수 있다면 정말 고마워요. – azimyasin

+0

지금 업데이트 된 코드를 확인하십시오. 휴대 전화를 사용하고 있기 때문에 사소한 오타가있을 수 있습니다. 대답. – anubhava

관련 문제