2009-06-22 3 views
5

Apache 서버 작업에 익숙해 져 있으므로 mod_rewrite를 사용하면 htaccess 파일을 만들고 URL 재 작성을 사용할 수 있습니다. PHP, htaccess를 사용한 URL 재 작성 및 Microsoft IIS URL 재 작성

RewriteEngine On 
RewriteCond %{REQUEST_FILENAME} -s [OR] 
RewriteCond %{REQUEST_FILENAME} -l [OR] 
RewriteCond %{REQUEST_FILENAME} -d 
RewriteRule ^.*$ - [NC,L] 
RewriteRule ^.*$ index.php [NC,L] 

가 지금은 모듈을 재 작성이 URL을 사용하여 웹 사이트를 구축했지만 나는 그것이 마이크로 소프트 서버임을 배우고 온 :

여기 내 htaccess로 파일입니다. htaccess 파일을 사용할 수 있습니까? 작동하도록 변경해야 할 것이 있습니까? Microsoft 서버에서 URL 재 작성이 설정되었는지 어떻게 알 수 있습니까?

답변

5

Ionic's Isapi Rewrite Filter (IIRF)의 구성을 그대로 사용할 수 있습니다.

IIRF는 무료 오픈 소스입니다.

+0

무료 오픈 소스 버전이 있습니다. – Andrew

+1

오늘이 문제를 살펴본 결과 Win2012에서 설치 프로그램을 실행할 수 없었기 때문에 최신 시스템에서는 작동하지 않을 수 있습니다. – JasonRShaver

4

.htaccess 파일은 Apache 구성에 대한 최종 사용자 액세스를 제공하는 Apache 규칙이므로 IIS (Microsoft) 서버에서 대체 파일로 사용할 수 없습니다. 은 Windows에서 Apache를 실행하는 경우을 사용할 수 있습니다.

IIS7에는 URL 다시 쓰기를 지원하는 URL rewriting module이 있습니다. 이전 버전의 IIS에서도 동일한 기능을 수행하는 ISAPI_Rewrite 제품도 있습니다. 위 모듈 중 하나 (예 : htaccess와 같은 메커니즘 없음)를 사용하려면 서버에서 일정 수준의 관리 권한이 필요합니다.

0

ISAPI_Rewrite 3 또는 Helicon Ape 제품에서 위의 구성을 사용할 수 있습니다.

10

IIS 7을 사용하는 경우 mod_rewrite 규칙을 IIS URL 다시 쓰기 형식으로 변환하는 데 사용할 수있는 "Import Rules" feature이있는 IIS URL 다시 쓰기 모듈을 사용할 수 있습니다. RewriteCond는 요청 된 URL이 0이 아닌 크기의 파일이나 파일 시스템의 심볼릭 링크에 해당하는지 확인하는 "-s"및 "-l"플래그를 사용하기 때문에 이러한 특정 다시 쓰기 규칙은 변환되지 않습니다. 응용 프로그램이 심볼릭 링크를 사용하지 않는 경우에 당신은 안전하게 이러한 조건을 대체 할 수

RewriteCond %{REQUEST_FILENAME} -f [OR] 

다음 IIS URL 재 작성 UI를 사용하여 규칙을 변환합니다. 그러면 다음 규칙이 적용됩니다.