2010-04-19 47 views
1

基本上我最近在我的httpd.conf中爲IIS服務器上的ISAPI重寫添加了以下規則,以確保它始終默認爲小寫文件和目錄名稱。使用ISAPI重寫排除重寫的目錄3

RewriteRule ^(.*[A-Z].*)$ $1 [CL,R=301,L]

這是所有罰款和花花公子的除了一個目錄的站點,我們可以稱之爲/MisbehavingDir的每一個部分,這個特定的目錄中的代碼充滿了大小寫混合的文件名和大量的服務器 - 和客戶端腳本必須重寫爲使用全部小寫才能正常工作(使用上面的RewriteRule似乎在錯誤的地方觸發了幾個301,導致該站點的部分功能很差至少)。

因爲我沒有心情重寫網站的那部分內容,所以我很想找到修改上述正則表達式的好方法,以便它匹配除了以MisbehavingDir開頭的路徑以外的所有內容,因爲我的正則表達式不是我想我會在這裏問。

是否有一個簡單的「美麗」的解決方案,這是任何人想分享,或者我應該擱置幾天重寫應用程序,然後測試它,並通過整個舞蹈?

回答

2

好,顯然訣竅是添加一個rewritecond語句,看起來像RewriteCond %{URL} ^(?!/MisbehavingDir/.*$),使ISAPI重寫跳過下一個規則。

+0

您碰巧擁有Isapi Rewrite第2版的正確語法嗎?現在我擔心,我們現在被綁在了它上面 – 2014-04-11 13:25:37