2011-01-30 4 views
3
Options +FollowSymlinks 

RewriteEngine on 

RewriteCond %{REQUEST_FILENAME} !-f # not a file 
RewriteCond %{REQUEST_FILENAME} !-d # not a directory 
RewriteRule ^(.+)$ index.php?params=$1 [L] 

당신이 볼 수 있듯이, 내가RewriteEngine이 로컬에서 URL을 다시 쓰지 않습니까?

mysite.com/x/y/z

mysite.com/처럼 아무것도 변환하려고 해요 index.php? params = x/y/z

그러나 작동하지 않습니다. 나는 mysite.com/home을 시도해 index.php의 첫 번째 줄에 중단 점을 넣었지만 404를 얻었습니다.

이것이 왜 저에게 효과가 없습니까? 아무것도 주셔서 감사합니다!

답변

1

그것도 mod_rewrite 설치 또는 사용 가능하거나 None에 특정 디렉토리에 대한 AllowOverride -directive를 설정했는지되지 않은 것으로 보인다. 그것을 (적어도) FileInfo

+0

) 그리고 그것은 약자로갑니다! 많이 고마워! – Garrett

5

먼저, mod_rewrite이 Apache 서버에서 활성화되어 있는지 확인하십시오.

그 다음 줄의 끝 부분에 주석을 제거 :

# not a file 
RewriteCond %{REQUEST_FILENAME} !-f 
# not a directory 
RewriteCond %{REQUEST_FILENAME} !-d 

From the Apache documentation을 : 해시 문자 "#"로 시작

라인을 주석, 간주하고 무시됩니다. 구성 지시문 뒤에 줄에 의 설명이 포함되어 있지 않을 수 있습니다.

+0

놀랍게도 여전히 작동하지 않습니다 = ( – Garrett

관련 문제