2014-09-22 4 views
0

두 가지 다른 리디렉션을 원합니다. 사용자가 내 apache-server에서 index.php 파일에 액세스하고 사용자가 특정 URL을 입력 한 후 하나의 리디렉션에 액세스하는 경우 하나의 리디렉션.Mod-Rewrite - 두 가지 리디렉션 규칙이 필요합니다.

내 index.php 파일은 내 아파치의 "/ client/frontend/questionnaire"-folder에 있습니다. 사용자가 "www.test-domain.com"을 입력하면 서버의 index.php 파일로 리디렉션되어야합니다.

사용자가 "www.test-domain.com/news"를 입력하면 두 번째 리디렉션이 처리되어야합니다. 그런 다음 "www.test-domain.com/client/frontend/app/index.php/article-one"으로 리디렉션되어야합니다.

는이 같은 최초의 재 작성 규칙 생성 관리 :

Options -Indexes 
RewriteEngine On 
RewriteBase/

RewriteRule ^$ client/frontend/questionnaire/index.php [L] 

을하지만 두 번째 규칙을 작성하는 방법을 모르겠어요.

도움이 매우 감사합니다.

감사합니다.

답변

2

RewriteCond + RewriteRule을 여러 개 사용해야합니다. mod_rewrite introductionreference documentation (모두 설명 됨)을 참조하십시오.

RewriteRule은 실제로 현재 요청을 다시 작성합니다. 실행하려면 전에 RewriteCond은 모두 true이어야합니다. 문서에서

샘플 :

RewriteCond %{REMOTE_ADDR} ^10\.2\. 
RewriteRule (.*) http://intranet.example.com$1 

RewriteCond %{REMOTE_HOST} ^host1 [OR] 
RewriteCond %{REMOTE_HOST} ^host2 [OR] 
RewriteCond %{REMOTE_HOST} ^host3 
RewriteRule ...some special stuff for any of these hosts... 

RewriteCond %{HTTP_USER_AGENT} (iPhone|Blackberry|Android) 
RewriteRule ^/$     /homepage.mobile.html [L] 
+0

당신이 나에게 좀 더 많은 정보를 제공시겠습니까? – enne87

+0

답변을 완료하고 설명서를 읽으시기 바랍니다. –

+0

Nicolas 도움에 감사드립니다. 나는 다음과 같이 그것을 시도 :. 옵션 -Indexes 한다 RewriteEngine RewriteBase 에/ 한다 RewriteCond % {HTTP_HOST} * nmo-online.com $ 한다 RewriteRule^$ 클라이언트/프론트 엔드/질문/index.php에 [L] RewriteCond % {HTTP_REFERER} (. *) 날씨 (. *) RewriteRule^$ client/frontend/app/index.php [L] 조건은 작동하지만 두 번째 조건은 작동하지 않습니다. – enne87

관련 문제