2014-07-11 2 views
-1

나는 php 파일에서 PHP 확장을 제거하기 위해 URL을 다시 작성하려고하는데, 무엇이 잘못되었는지를 알 수 없다! 나는 우분투 시스템에 lampp를 사용하고 그리고 난을 httpd.conf에서 모든 없음에서에 AllowOverride를 설정합니다.htaccess가 localhost에서 작동하지 않습니다. 람프 | 우분투

# AllowOverride controls what directives may be placed in .htaccess files. 
# It can be "All", "None", or any combination of the keywords: 
# Options FileInfo AuthConfig Limit 
# 
AllowOverride All <--- I set it from "None" to "All" 

을 나는 내 프로젝트 폴더, 즉의 루트에 내 .htacces 파일을 배치했다. projects/test/(나는 이것이 .htaccess 파일의 올바른 위치인지 모른다.) 내 로컬 호스트 URL은 다음과 같다 : http://localhost/projects/test/abc.php. 나는 그것이 http://localhost/projects/test/abc 문서라도 내 URL 재 작성 코드로 설정하려면 :

Options +FollowSymLinks -MultiViews 

<IfModule mod_rewrite.so> 
RewriteEngine On 
RewriteCond %{REQUEST_FILENAME} !-f 
RewriteRule ^([^\.]+)$ $1.php [NC,L] 
</IfModule> 

심지어 <IfModule mod_rewrite.c>

+1

'내가! 잘못'당신이 무엇을 알아낼 수 있는지 알아낼 수 없습니다? 규칙을 사용할 때 어떤 일이 발생합니까? error_log 및 rewrite_log에서 표시되는 내용은 무엇입니까? 서버의 httpd.conf에있는 loadmodules 내에서 mod_rewrite가 활성화되어 있습니까? – Prix

+0

내 무지 때문에 죄송합니다. 나는 .htaccess 물건을 처음 사용합니다. 앞에서 말했듯이 abc.php에서 .php 확장자를 제거하고 싶습니다. 문제는 브라우저가 여전히 http : //localhost/projects/test/abc.php (http : // localhost/projects/test/abc이어야 함)로 URL을 표시한다는 것입니다. 죄송합니다. 내가 언급 한 로그 파일을 어디서 찾을 것 인 지 모르겠습니다. – nexuscreator

+0

현재 규칙에서'.php' 확장자를 제거하는 대신 추가합니다. – feeela

답변

0

그냥 추측과 노력, 난 당신이 필요로하는 아파치 모듈이 활성화되어 있는지 확인합니다. mod_rewrite를

http://httpd.apache.org/docs/current/mod/mod_rewrite.html

+0

phpinfo(); 'mod_rewrite'는 apache2 구성의 "로드 된 모듈"섹션에서 언급됩니다. – nexuscreator

+0

죄송합니다, 이미 언급하셨습니다. 문제를 해결하려면 사이트와 htaccess를 htaccess 문제 또는 아파치 설정 문제가 있는지 확인하고 자신이 설정하지 않은 호스트에 의해 호스팅 된 서버에 업로드하십시오. – AirCombat