다음 mod_rewrite 줄이 있습니다 (이 파일은 .htaccess 파일의 유일한 줄입니다). 그것은 첫 번째 이름을 login
이외의 이름으로 바꿀 때 작동하지만 실제 스크립트와 같은 이름 인 경우 어떤 이유로 $_GET['initials']
을 전달하지 못합니다. 어떻게 든 자체 재 작성을 덮어 씁니까?
RewriteRule ^login/([a-z]{1,5}) login.php?initials=$1 [L]
편집 :
이 $ _SERVER를 보면,이 PHP가 로딩을 끝 페이지는 다음과 같습니다 'ABC'가 제공하는 intitials입니다'PHP_SELF' => string '/admin/login.php/abc' (length=19)
. 그래서 쿼리 문자열을 완전히 삭제하고 해당 페이지를로드하려고 시도합니다.이 페이지는/abc 디렉토리가 존재하지 않아도 login.php가 아닌 404를로드합니다.
$ 작업을 추가하지 않습니까? 'RewriteRule^login/([a-z] {1,5}) $ login.php? initials = $ 1 [L]''RewriteBase /'가 있습니까? – Benno
아니요 여전히 실패합니다. RewriteBase를 설정하지 않았습니다. 처음 들어 봤습니다. – Matthew
.htaccess는 기본 아파치 디렉토리가 아닌 하위 디렉토리에 있습니다. – Matthew