2012-10-01 3 views
0

tinycms 애플리케이션을 사용하고 있으며 모든 트래픽을 문서 루트로 전달할 수 있습니까?모든 트래픽을 Apache 문서 루트로 리디렉션하는 방법

예 :

http://<IP-address>/ADFADSF/adsfadsf -->/
http://domain.com/adsf -->/

현재, 내 htaccess로

<Files .htaccess> 
order allow,deny 
deny from all 
</Files> 
Options +FollowSymLinks 
RewriteRule admin/$ index.php?view=admin [QSA] 
Options -Indexes 

감사이 있습니다. 제임스

답변

0

사용 mod_rewrite를 :

RewriteRule ^/?.+$/[L,R] 

사용 mod_alias가 :

RedirectMatch ^/.+/

이 의지 물론 m은 RewriteRule admin/$ index.php?view=admin [QSA] 규칙이 쓸모없는 렌더링, 또는 적어도 일부 충돌이 발생할. 따라서 규칙을 주석 처리하거나 admin/을 제외한 모든 트래픽이 리디렉션되는 특별한 예외를 만들어야합니다.


편집 :

방법 임거야 그건 관리자 제외하고 규칙을 만들기 위해 할 /?

여기 한 가지 방법이 있습니다. 나는 이것이 당신이 원하는 행동이라고 추측합니다.

<Files .htaccess> 
order allow,deny 
deny from all 
</Files> 
Options +FollowSymLinks -Indexes 

이 추가 :

RewriteEngine On 

그럼이 물건은 그것이있는 방법 괜찮아요, 변경되지 않습니다

RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_URI} !^/(index\.php|admin) 
RewriteRule ^/?.+$/[L,R] 

RewriteRule admin/$ index.php?view=admin [QSA,L] 

그래서 함께 모든 것을 넣어, 당신은 거부해야 .htaccess 파일에 액세스하려면. 그런 다음 귀하의 Options을 가지고 있고 다시 쓰기 규칙이 있습니다. RewriteEngine을 켜고 /index.php 또는 /admin이 아닌 요청을 리디렉션하면 은 내부적으로 /admin에서 /index.php으로 바뀝니다.

+0

감사합니다. Jon, 관리자 /를 제외하고 규칙을 만들려면 어떻게해야합니까? –

+0

@JamesWise 귀하의 의견을 포함하도록 답변을 편집했습니다 –

+0

위에서 언급 한 RewriteRule이 정상적으로 작동합니다. 그러나 하위 디렉토리를 입력하면 페이지에 웹 루트 index.php가 표시되지만 이미지가 누락되어 표시가 너무 추합니다. 나는 이것이 무엇을 일으키는 지 확신하지 못한다. –

관련 문제