2011-08-31 6 views
2

내가 도메인이 나는 회사 등을 확인하는 가상 폴더를 전달하고자하고아파치 mod_rewrite를, 간단한 질문

www.domain.com/CompanyA 
www.domain.com/CompanyB 

의 companyâ 및 CompanyB 폴더가 존재하지 않는, 나는 그 쿼리 문자열 예를 들어,되고 싶은

www.domain.com/?CompanyA etc.. 

어떻게 mod_rewrite를 사용합니까?

많은 감사,

답변

3

는 다음 RewriteRule의 추가 :

RewriteRule ^/([A-Za-z]+)$ /?$1 

이 일의 순서를 캡처하거나 할 첫 번째 일치 그룹으로 더 낮은과 대문자 (즉, $ 1에 액세스 할 수 있습니다). 그런 다음 다시 쓰기 규칙의 두 번째 매개 변수에 $ 1을 사용하여 일치하는 문자열을 의미 할 수 있습니다. 예를 들어, 당신은 사용할 수 있습니다

RewriteRule ^/([A-Za-z]+)$ /render.php?page=$1 

당신이 조건부 렌더링 로직을 처리하기 위해 당신의 index.php (또는 동급) 이외의 파일을 사용합니다.

+0

감사합니다. 진전이 있었지만 지금은이 서버에서/CompanyA에 액세스 할 수있는 권한이 없습니다. – Brettski

+0

규칙을^([A-Za-z] +) $ /? $ 1 (으)로 변경하면 아무 것도 변경되지 않습니까? –

+0

로드했지만 쿼리 문자열을 선택하지 않습니다. – Brettski

1
RewriteEngine On 
RewriteCond %{REQUEST_URI} !^/index.php 
RewriteRule ^(.*)$ /index.php?query=$1 [L,QSA] 

QSA를 사용하면 들어오는 쿼리 문자열을 그대로 유지할 수 있습니다.

+0

고마워,하지만 나는 내 framework에서 이름을 바꿀 수없는 index.php를 유지할 필요가있다. ( – Brettski