2011-09-22 63 views
1

我有一個rewriterule除了lib文件夾以外的所有東西。規則是mod_rewrite無法重定向到lib文件夾

重寫規則^ /英國(。*)$ 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

  • 文件夾只有三個以他們的名義工作的信件。
  • 英國/ otherpath/lib的作品。
  • 有lib文件夾中沒有htaccess文件
  • 沒有在站點根目錄沒有htaccess文件(該規則是在虛擬主機的定義)在Ubuntu和紅帽(開發和生產)發生
  • 問題
  • 問題發生在一個同事的工作站上的其他的Moodle站點
  • 在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

好點,我已經加入到這個問題。 –