2011-09-22 2 views
1

lib 폴더를 제외한 모든 항목에서 작동하는 재 작성이 있습니다. 규칙은mod_rewrite가 lib 폴더로 리디렉션하지 못했습니다.

한다 RewriteRule ^/영국 (. *) $ (1)

그것은 규칙 훨씬 더 복잡한 중 하나입니다하지만 모든 그러나 이것은 불가능했습니다입니다. 규칙은 lib 폴더의 내용을 제외한 모든 항목에서 정상적으로 작동합니다.

http://site.local/lib/cookies.js하지만 http://site.local/uk/lib/cookies.js은 작동하지 않습니다.

사이트에서 다른 모든 경로는 좋은 예를 리디렉션

http://site.local/uk/course/view.php?id=15는 이름 작업 만 세 글자로 http://site.local/course/view.php?id=15

  • 다른 폴더로 이동합니다.
  • uk/otherpath/lib가 작동합니다.
  • 은 lib 폴더에는 htaccess로 파일이없는
  • 사이트 루트에는 htaccess로 파일 (규칙이 가상 호스트 정의에)
  • 문제가 우분투와 레드햇 (DEV 및 생산)에서 발생
  • 없다
  • 문제는 lib 폴더에
  • 권한이 내가 무엇을 놓치고 디렉토리 트리

의 나머지 부분과 동일한되는 동료 워크 스테이션의 다른 무들 사이트에서 발생?!? 도움말 !!!!!!!!!

--- 편집 ---

RewriteLog "/var/log/apache2/rewrite.log" 
RewriteLogLevel 9 

나에게

127.0.0.1 - - [22/Sep/2011:11:21:57 +0100] [site.local/sid#7f15a0b345d0][rid#7f15a0e1b270/initial] (2) init rewrite engine with requested uri /uk/lib/cookies.js 
127.0.0.1 - - [22/Sep/2011:11:21:57 +0100] [site.local/sid#7f15a0b345d0][rid#7f15a0e1b270/initial] (3) applying pattern '^/uk(.*)' to uri '/uk/lib/cookies.js' 
127.0.0.1 - - [22/Sep/2011:11:21:57 +0100] [site.local/sid#7f15a0b345d0][rid#7f15a0e1b270/initial] (2) rewrite '/uk/lib/cookies.js' -> '/lib/cookies.js' 
127.0.0.1 - - [22/Sep/2011:11:21:57 +0100] [site.local/sid#7f15a0b345d0][rid#7f15a0e1b270/initial] (2) local path result: /lib/cookies.js 
127.0.0.1 - - [22/Sep/2011:11:21:57 +0100] [site.local/sid#7f15a0b345d0][rid#7f15a0e1b270/initial] (1) go-ahead with /lib/cookies.js [OK] 
127.0.0.1 - - [22/Sep/2011:11:21:57 +0100] [site.local/sid#7f15a0b345d0][rid#7f15a0e232b0/initial] (2) init rewrite engine with requested uri /favicon.ico 
127.0.0.1 - - [22/Sep/2011:11:21:57 +0100] [site.local/sid#7f15a0b345d0][rid#7f15a0e232b0/initial] (3) applying pattern '^/uk(.*)' to uri '/favicon.ico' 
127.0.0.1 - - [22/Sep/2011:11:21:57 +0100] [site.local/sid#7f15a0b345d0][rid#7f15a0e232b0/initial] (1) pass through /favicon.ico 

를 제공는 그래서 그 일을해야처럼 나에게 보인다?

답변

1

내 로컬 컴퓨터에서이 문제를 망친 후, document_root/lib 디렉토리를 확인하기 전에 Apache가 파일 시스템의/lib에 다시 쓰여지고있는 것으로 보입니다.

당신은 당신의 재 작성을 변경해야합니다 :

RewriteRule ^/uk(.*) %{DOCUMENT_ROOT}$1 
1

나는 RewriteLog을 켜고 RewriteLogLevel을 늘려서 Apache가하고있는 일에 대해 더 많은 정보를 얻는 것이 좋습니다.

+0

좋은 자리, 내가 질문에 추가했습니다. –

관련 문제