2015-01-17 3 views
0

모두!.htaccess를 다시 작성하여 디렉토리를 제거하는 방법은 무엇입니까?

개인 프로젝트에 내 직원이 여러 명 있습니다. 웹 사이트는 다음과 같은 설정으로 나는,하지만 문제가 있습니다 :

site.com/myownproject1 

site.com/myownproject2 

site.com/john/projectbyjohn1 

site.com/john/projectbyjohn2 

site.com/james/projectbyjames1 

site.com/james/projectbyjames2 

내가 지금, 누군가가 이름 접두어없이 디렉토리에 액세스하려고 할 때 해당 폴더에 다시 내 htaccess로 파일을 설정하고 싶습니다

:

site.com/john/projectbyjohn2 

이 내 htaccess로 currenlty는 모습입니다

site.com/projectbyjohn2 

를 통해 액세스 할 것

DirectoryIndex index.php index.html 
RewriteEngine On 
RewriteCond %{HTTPS} off 
RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI} 
RewriteCond %{REQUEST_FILENAME}.php -f 
RewriteRule !.*\.php$ %{REQUEST_FILENAME}.php [QSA,L] 
#Lots of stuff that does not matter 

편집 : 지금과 같은 전체 htaccess로는 :

DirectoryIndex index.php index.html 
RewriteEngine On 
RewriteCond %{HTTPS} off 
RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI} 
RewriteCond %{REQUEST_FILENAME}.php -f 
RewriteRule !.*\.php$ %{REQUEST_FILENAME}.php [QSA,L] 
Header set Access-Control-Allow-Origin "*" 
RewriteCond %{REQUEST_FILENAME} -d [OR] 
RewriteCond %{REQUEST_FILENAME} -f 
RewriteRule^- [S=2] 
RewriteCond %{DOCUMENT_ROOT}/mitch/$1 -d [OR] 
RewriteCond %{DOCUMENT_ROOT}/mitch/$1 -f 
RewriteRule ^(.*)$ /mitch/$1 [L] 
ErrorDocument 400 /ErrorDocument.php?err=400 
ErrorDocument 401 /ErrorDocument.php?err=401 
ErrorDocument 402 /ErrorDocument.php?err=402 
ErrorDocument 403 /ErrorDocument.php?err=403 
ErrorDocument 404 /ErrorDocument.php?err=404 
ErrorDocument 405 /ErrorDocument.php?err=405 
ErrorDocument 406 /ErrorDocument.php?err=406 
ErrorDocument 407 /ErrorDocument.php?err=407 
ErrorDocument 408 /ErrorDocument.php?err=408 
ErrorDocument 409 /ErrorDocument.php?err=409 
ErrorDocument 410 /ErrorDocument.php?err=410 
ErrorDocument 411 /ErrorDocument.php?err=411 
ErrorDocument 412 /ErrorDocument.php?err=412 
ErrorDocument 413 /ErrorDocument.php?err=413 
ErrorDocument 414 /ErrorDocument.php?err=414 
ErrorDocument 415 /ErrorDocument.php?err=415 
ErrorDocument 416 /ErrorDocument.php?err=416 
ErrorDocument 417 /ErrorDocument.php?err=417 
ErrorDocument 500 /ErrorDocument.php?err=500 
ErrorDocument 501 /ErrorDocument.php?err=501 
ErrorDocument 502 /ErrorDocument.php?err=502 
ErrorDocument 503 /ErrorDocument.php?err=503 
ErrorDocument 504 /ErrorDocument.php?err=504 
ErrorDocument 505 /ErrorDocument.php?err=505 
+0

"projectbyjohn1", "projectbyjames2"등이 앞으로 무엇을 알 수 있습니까? –

+0

예, 나는 그들이 무엇을 부를 것인지를 안다. 나는 .htaccess에서 수동으로 지정하려고한다. – Foldager

답변

0

RewriteCond %{REQUEST_FILENAME} -d [OR] 
RewriteCond %{REQUEST_FILENAME} -f 
RewriteRule^- [S=2] 

RewriteCond %{DOCUMENT_ROOT}/john/$1 -d [OR] 
RewriteCond %{DOCUMENT_ROOT}/john/$1 -f 
RewriteRule ^(.*)$ /john/$1 [L] 

RewriteCond %{DOCUMENT_ROOT}/james/$1 -d [OR] 
RewriteCond %{DOCUMENT_ROOT}/james/$1 -f 
RewriteRule ^(.*)$ /james/$1 [L] 

첫 번째 규칙은 건너 뛰고보십시오 디렉토리/파일이 이미 루트에있는 경우 다음 두 가지. 다음 두 파일은 발견 된 파일/디렉토리를 단순히 /john 또는 /james 안에 해결합니다.

John과 James가 파일이나 하위 디렉토리에 이름을 지정하기로 결정한 경우 우리는 피클을 사용합니다. 처음 정의 된 규칙 인이 경우 /john이이 경우에 우선합니다.

+0

이것은 디폴트 404 페이지를 보여주지 않고 모든 페이지에서 404 에러를 준다. 오류 :/[S = 2]을 찾을 수 없습니다. – Foldager

+0

'[S = 2]'앞에'-'가 있어야합니다. 따라서 오류. 다시해볼 수 있을까요? –

+0

리다이렉트가 가능합니다 - 고마워요.하지만 재 작성하는 데 관심이 있습니다 :/ – Foldager

관련 문제