mod_rewrite / isapi_rewrite에서 규칙이 특정 도메인에 어떻게 영향을 미치려면?

StackOverflow https://stackoverflow.com/questions/1462331

문제

방금 최근 Linux 호스트에서 Windows 2003이있는 전용 서버로 마이그레이션했으며 Mod_rewrite를 사용하는 사이트가 하나만 있었지만 ISAPI _REWRITE 3 FREE를 사용하면 규칙이 글로벌입니다.

다른 사람이 아닌 "mysite.com"에만 영향을 미치는 조건을 어떻게 작성합니까?

이것은 내 httpd.conf 파일입니다

# Helicon ISAPI_Rewrite configuration file
# Version 3.1.0.66

RewriteEngine On
RewriteBase /
RewriteRule ^([A-Za-z0-9-]+)/?$ index.php?page=$1 
RewriteRule ^([A-Za-z0-9-]+)/([A-Za-z0-9-]+)/?$ index.php?page=$1&id=$2 [L]

이 사이트를 위해서만 Isapi_rewrite를 사고 싶지 않습니다.

고맙습니다

도움이 되었습니까?

해결책

적어도 적어도 아파치의 mod_rewrite, 당신은 그것을 사용할 수 있습니다 C 깃발 다음과 같은 규칙을 연쇄시키기 위해 :

RewriteCond %{HTTP_HOST} =example.com
RewriteRule ^ - [C]
RewriteRule ^([A-Za-z0-9-]+)/?$ index.php?page=$1 [C]
RewriteRule ^([A-Za-z0-9-]+)/([A-Za-z0-9-]+)/?$ index.php?page=$1&id=$2 [L]

한 규칙이 있다면 ~ 아니다 일치, 모든 중환자 규칙이 건너 뜁니다. 즉, 첫 번째 규칙이 일치하지 않는 경우 (호스트 이름은 example.com), 다음 중 묶인 규칙이 건너 뜁니다. 추가하지 마십시오 C 체인 플래그로 마지막 규칙에 플래그.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top