2012-05-10 4 views
-1

문제는 내가 아파치의 표현이 있습니다 RewriteEngine On RewriteRule ^(.*)$ 2012/$1 [L]리디렉션 및 다시 쓰기 - 하위 디렉터리

내 응용 프로그램 '2012'폴더에 있습니다. 누군가가 www.mysite.com 입력 을 www.mysite.com/2012로 리디렉션하지만 URL이 내 현재 정규식으로 이루어집니다 www.mysite.com

계속해야하는 경우 나는 원한다.

그러나 다른 하위 디렉토리를 액세스 할 수 없어 다른 이미지를 배치 할 수 없습니다. 예를 들어 www.mysite.com/2012/newsletter를 참조하십시오.

www.mysite.com/newsletter가 어떻게 작동합니까?

+0

가 왜'헤더 ("... 위치")를 사용할 수 없습니다? – VisioN

+0

현재 재 작성 규칙에 따르면 모든 요청을 2012 폴더로 리디렉션하려고한다고 표시됩니다. 다시 쓰기 규칙 전에 액세스하려는 모든 페이지를 하드 코딩하거나 현재 규칙을 좀 더 유연한 것으로 변경해야합니다 ( – Darvex

+0

). 왜냐하면 2012 폴더가 URL에 머물러 있기를 원하지 않기 때문입니다. –

답변

1

이 작동합니다 :``index.php`에서 :

RewriteEngine On 
# If request starts with 'newsletter' no further rule is processed 
RewriteRule ^(newsletter) - [L] 

# If first rule doesn't match, rewrite everything not starting with '2012' to the '2012 subfolder 
RewriteCond %{REQUEST_URI} !^/2012/.*$ 
RewriteRule ^(.*)$ /2012/$1 [L] 
+0

mysite.com/newsletter는 여전히 mysite.com/2012로 리디렉션됩니다. – Darvex

+0

다른 하위 디렉토리의 이미지에 액세스 할 수 없습니다. –

+0

솔루션이 진행되는 동안 downvote하지 마십시오. 의미가 없습니다. 새로운 편집을 시도하십시오 – blang

관련 문제