2010-04-11 6 views
8

나는 이것이 매우 간단한 질문이라고 생각합니다.모드 재 작성 폴더 숨기기

어떻게 아파치를 다시 작성하여 폴더를 숨기십니까?

EX : www.website.com/pages/login.php는

또는 www.website.com/pages/home.php이 www.website.com/하는 www.website.com/login.php하기 home.php

폴더를 항상 숨겨야합니다. thanks

답변

12

브라우저가 /home.php를 요청하지만 서버가 실제로 /pages/home.php에있는 파일을 사용한다고 가정합니다. 맞습니까? 그렇다면이 작동합니다 :

아파치 mod_rewrite 모듈이 설치되어 있는지 확인하십시오. 당신이 그 주제 경우의 참조를보고 할 수 있도록

RewriteEngine On 
RewriteRule ^/(.*)$ /pages/$1 

규칙은, 정규 표현식을 사용 : 다음, 당신의 아파치 설정에서이 같은 가상 호스트 설정, 또는 (이하 바람직)의 .htaccess 파일을 사용 너는 불확실하다. 기타 지침 (RewriteCond는 매우 유용 할 수 있음) 또는 규칙 옵션에 대한 자세한 내용은 manual을 읽어보십시오.

0

귀하의 예를 실제로 다음의 .htaccess 파일에 필요한 파일, 반영하는 경우 디렉토리는 읽기 권한이 경우

#Options +FollowSymLinks 
RewriteEngine On 

RewriteRule ^/pages/(.+)\.php $1\.php [NC, L] 

는 또한, 그것은 수없는, 현실을 "숨겨진". 나는 그것이 더 이상 URL에 나타나지 않는다는 것을 의미한다고 가정합니다.

+1

이것은 처음에도 내가 가졌던 것입니다. 그러나 이것은 서버가 /home.php를 제공하는 동안 사용자가 주소 표시 줄에 /pages/home.php를 보게된다는 것을 의미합니다. 다시 생각해 보면, 나는 OP가 그 반대의 것을 원한다고 생각합니다. – grossvogel

+0

@grossvogel - 네 말이 맞아. 나는 그의 질문을 더 자세히 읽었다. – TMG

8

나는 몇 년 전의 원래 게시물을 알고 있지만, 검색 엔진에서 처음으로 등장했기 때문에 다른 사람들이 URL에서 폴더 이름을 숨기려고하는 데 도움이 될 수 있습니다.

정확하게 원래의 포스터가 원했던 것은 아니지만 같은 줄에 있습니다.

RewriteCond %{HTTP_HOST} ^mydomainname\.com$ [OR] 
RewriteCond %{HTTP_HOST} ^www\.mydomainname\.com$ 
RewriteCond %{REQUEST_URI} !^/subfoldername/ 
RewriteRule (.*) /subfoldername/$1 

위의 예는 도메인의 루트 디렉토리에있는 subfoldername 디렉토리에 mydomainname.com 또는 www.mydomainname.com에 대한 요청을 리디렉션 것이며, 하위 폴더 이름이 URL에 표시하지 않을 것입니다.