2016-10-28 5 views
0

내가 수 있도록 설정 내 htaccess로와 매우 작은 사이트를 리디렉션 같은 URL을 :기본 폴더 (301)을 방지 htaccess로는

mysite.com/brand/login 
mysite.com/brand/dashboard 
mysite.com/controller 

이 모든 리디렉션 : 나는 단순히 해요

mysite.com/driver.php?___=brand/login 
mysite.com/driver.php?___=brand/dashboard 
mysite.com/driver.php?___=controller 

RewriteRule ^(([a-zA-Z0-9\-\_]+/?)*)$ index.php?___=$1 [L,QSA] 

어쨌든, m 폴더의 같은 이름의 페이지가있을 때까지는 훌륭하게 작동합니다. y 사이트.

// I navigate to: 
mysite.com/javascript 

// The site automatically provides a 301 redirect to 
mysite.com/javascript/? ___=javascript 

그런데 그 추한 URL이 내 사용자의 브라우저에 표시됩니다. 내가 직접 모든 리다이렉트를 돌 보도록 사이트에 알릴 수있는 방법이 있습니까?

편집 : 나는 이것을 바이올린으로 결정했다. 또 다른 예 :

enter image description here

답변

0

Welp 바로이 게시 한 후 답을 발견했다. .htaccess의이 행은 문제를 해결했습니다.

DirectorySlash Off 

그때 나는, 물론, 그것은부터 DirectorySlash 지시어는 mod_dir이이 URL이 가리키는 오류 복구할지 여부를 결정합니다 (301)

https://httpd.apache.org/docs/2.4/mod/mod_dir.html#directoryslash

잊을 수 있도록 브라우저 캐시를 삭제했다 디렉토리 또는 아닙니다.

: 사용자가 디렉토리를 가리키는 후행 슬래시, 없이 자원을 요청하면

일반적으로 mod_dir은,하지만 슬래시

그리고 보안 경고를 후행 같은 리소스에 그를 리디렉션

후행 슬래시 리디렉션을 해제하면 정보가 누설 될 수 있습니다. mod_autoindex가 활성화되어 있고 (Options + Indexes)이고 DirectoryIndex가 유효한 리소스 (예 : index.html)로 설정되어 있고 해당 URL에 대해 정의 된 다른 특수 처리기가없는 상황을 생각해보십시오. 이 경우 슬래시가있는 요청은 index.html 파일을 표시합니다. 그러나 슬래시가없는 요청은 디렉토리 내용을 나열합니다.