2012-09-06 2 views
3

http://localhost/SAMPLE-CODES/backbone-mysql-reading-json/websites폴더 이름에 슬래시가있는 301 리디렉션이 나타나는 이유는 무엇입니까? 다음과 같이

에 대한 요청이 리디렉션됩니다 :

> Request URL:http://localhost/SAMPLE-CODES/backbone-mysql-reading-json/websites 
> Request Method:GET 
> Status Code:301 Moved Permanently 

응답 헤더 :

> HTTP/1.1 301 Moved Permanently Date: Thu, 06 Sep 2012 14:32:41 GMT 
> Server: Apache/2.2.17 (Win32) mod_ssl/2.2.17 OpenSSL/0.9.8o PHP/5.3.4 
> mod_perl/2.0.4 Perl/v5.10.1 Location: 
> http://localhost/SAMPLE-CODES/backbone-mysql-reading-json/websites/ 
> Content-Length: 417 Keep-Alive: timeout=5, max=100 Connection: 
> Keep-Alive Content-Type: text/html; charset=iso-8859-1 

나는이 리디렉션의 원인을 모르겠습니다합니다.

htaccess로

RewriteEngine On 
RewriteCond %{REQUEST_FILENAME} !-f 
RewriteRule^index.php [QSA,L] 
+0

아마 웹 사이트의 루트 @? 관여 할 수있는 다른 .htaccess 파일이 있습니까?이 리디렉션을하지 않았다 표시 한. – HeatfanJohn

+0

하위 폴더 없음 htaccess로 파일. 나는 가상 호스트이 .? httpd.conf 파일의 설정은 내가 슬림 PHP 프레임 워크를 사용하고 – tucson

+0

을 영향을 미칠 수, 나는이 무엇입니까 것을 지금 생각 : 요구 http://dev.slimframework.com/phpdocs/classes/Slim_Exception_RequestSlash.html – tucson

답변

4

이 아마 때문에 리디렉션을 수행 년대 mod_dir and the DirectorySlash directive이다 :

나는 폴더 c:\xampp\htdocs\SAMPLE-CODES\backbone-mysql-reading-json\에서 다음의 .htaccess 있습니다. 아파치가 URI를보고 디렉토리에 액세스하고 있다고 생각하고 후행 슬래시가 누락 된 경우 301은 후행 슬래시가있는 URI로 리디렉션합니다. 사용 중지 된 경우 정보 유출 보안 문제가 있으므로 항상 기본적으로 사용하도록 설정되어 있습니다. 당신이 index.php를 스크립트를 통해 모든 라우팅하는 경우, 그것은 심지어 문제가되지 않을 수 있으며 단순히 htaccess로 파일에 DirectorySlash Off을 추가하여 기능을 해제 (당신은 CSS 나 JS 또는 같은 디렉토리에 액세스 할 수 디렉토리에 대한 켤 수 있습니다 이미지 등

+0

이것은 단지이 당신의'을 LoadModule dir_module 모듈/mod_dir.so'을 가지고, 기본적으로 있기 때문에 나는이 어떻게 작동하는지 이해하는 것이 확인 r'httpd.conf'는이 동작을 가능하게 할 것인가? 모듈이로드와 – HeatfanJohn

+0

@HeatfanJohn 정확한, 당신은 301 디렉토리 디렉토리 인덱스 (mod_dir이의 2 기본값) –

+0

매우 감사를 후행 슬래시 누락뿐만 아니라 자동으로되는 index.html을 위해 리디렉션해야합니다! .htaccess 파일에 'DirectorySlash Off'를 추가하여 수정했습니다. – tucson

관련 문제