2010-02-02 3 views

답변

3

다른 사람들이 대답했듯이 mod_rewrite 규칙 일 수 있습니다. 사용자가 설명하는 기능을 명시 적으로 사용하기위한 지침 인 MultiViews도 있습니다.

http://httpd.apache.org/docs/2.2/content-negotiation.html#multiviews

가 MultiViews를 사용하면 다음과 같은 효과가있다 : 서버 /일부/DIR은 MultiViews을 활성화 한 경우,/일부/DIR/foo에 대한 요청을 수신 한 경우 /일부/dir/foo가 존재하지 않으면 서버는 파일 이름이 foo. * 인 디렉토리를 읽고 실제로 은 의 모든 파일 이름을 지정하고 동일한 미디어 유형 및 콘텐츠 인코딩을 지정하는 유형 맵을 만듭니다 은 클라이언트가 중 하나를 이름으로 요청한 경우에 나타납니다. 그런 다음 클라이언트의 요구 사항에 가장 일치하는 을 선택합니다. 당신을 httpd.conf 또는 가상 호스트 고유의 설정 파일에

Options MultiViews 

에 대한

봐. 이와

+0

고맙습니다. – fire

+0

도와 줘서 기쁩니다. MultiViews는 일부 (.htaccess 파일 및 mod_rewrite 규칙으로 많은 재생 방지) 및 다른 사람의 단점에 적합합니다. – meagar

3

그건 기본 동작이 아니므로 말하기 어렵습니다. 아파치 측에서 그러한 일이 발생했다면, 일치하는 재 작성 지침 시퀀스를 찾아보십시오. 그들은 RewriteCond으로 시작하여 RewriteRule으로 끝나는 것으로 보입니다.

VirtualHost 설정 또는 사이트 .htaccess에 아무것도 표시되지 않으면 사용중인 모든 PHP 프레임 워크에서 관리되고 있으므로 대신 구성해야합니다.

+1

일해야한다. 나는'mod_rewrite' 지시자 또는 불완전한 요청을위한 대체 파일 이름을 제안 할 수있는 하나의 모듈을 의심하고있다. 나는 그 이름을 잊어 버렸다 ... –

0

는 PHP 측에서 $ _SERVER [REQUEST_URI], 전체 URL과 함께, 당신은 구문 분석 할 수 .htaccess로하고 원하는 작업을 수행,이, 당신은 오류가 제어하고 404 리디렉션 고려해야 할 일반적인 방법입니다

ErrorDocument 404 /404.php 
<IfModule mod_rewrite.c> 
RewriteEngine On 
# RewriteBase 
RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteRule . index.php [L] 
</IfModule> 

와 PHP 측 INT, 그것은 확실히 기본 PHP/아파치 설치되지 않습니다 index.php를

$URLarray = explode('/', $_SERVER['REQUEST_URI']); 
+0

질문과 관련이 없습니다 ... – meagar

관련 문제