mod_rewrite / isapi_rewrite에서 규칙이 특정 도메인에 어떻게 영향을 미치려면?
-
13-09-2019 - |
문제
방금 최근 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
체인 플래그로 마지막 규칙에 플래그.
제휴하지 않습니다 StackOverflow