2011-05-04 3 views
0

모든 요청을 확장자가 .user.js 인 파일로 변경하여 .php로 만들고 싶습니다. 이 코드를 가지고 :Apache mod_rewrite를 사용하여 파일 확장자를 변경하십시오.

<IfModule mod_rewrite.c> 
RewriteEngine on 
RewriteRule /([^/]*)\.user\.js$ $1.php [R,NC] 

</ifModule> 

불행히도 작동하지 않습니다. 내가 이렇게하면 mod_rewrite를이 때문에로드 알고

<IfModule mod_rewrite.c> 
RewriteEngine on 
RewriteRule /([^/]*)\.user\.js$ $1.php [R,NC] 
s 
</ifModule> 

그것은 그래서 난 내 문제는 정규식에 생각 (500)의 상태 코드를 반환합니다. 내가 원하는 것을
예 :

GET /foo/bar/preetyuserscript.user.js 

GET /foo/bar/preetyuserscript.php 

답변

2


내가이 일 것이라고 생각된다 :

RewriteRule ^(.*?)\.user\.js$ $1.php 

그렇지 않은 경우 당신이 500 오류가보고 계속 오류 로그를보십시오. 항상 체크 아웃 첫 번째 장소.

+0

그것은 들으, 작동합니다.^(. *) \. user \ .js $ $ 1.php 나는 이것을 '\'와 거의 비슷하게 시도했지만 이미 '\'를 사용하지 않았다. 아마 그것은 브라우저 캐시 오류 였을 것입니다. 나는 500이라는 오류 만 언급 했으므로 mod_rewrite를 사용할 수 있다는 것을 증명할 수 있었다. – brunoais

1

수정한다 RewriteRule은 다음과 같아야합니다

RewriteRule ^([^.]*)\.user\.js$ /$1.php [R,L,NC] 
+0

이 작동하지 않는다. 재 작성은 요청을 서버의 루트로 보냅니다. 나는 그것을 원하지 않는다. – brunoais

+0

당신의 테스트에서이 URI'/ foo/bar/preetyuserscript.user.js'는'/ foo/bar/preetyuserscript.php'가되었습니다. .htaccess 파일에 다른 규칙이 있습니까? 또한 access.log 스 니펫을 붙여 넣을 수 있습니다. – anubhava

관련 문제