[英]Apache Rewrite to File System Or Proxy
我想創建一個Apache mod_rewrite
規則來做兩件事 :
/file-system-target
時,服務於文件系統目錄的內容, /file-system-target
都使用代理。 例如:
RewriteRule ^/file-system-target /path/to/file/system/target [L]
RewriteRule ^/(.*) http://localhost:8080 [P]
但是,當查看RewriteLog
的輸出時, 后一個規則始終匹配,而前一個規則則永遠不匹配 。 我想念什么?
事實證明, “后期規則始終匹配且前者永遠不匹配”的說法可能不正確; 我有一個令人困惑的httpd.conf,其中在多個位置啟用了重寫日志記錄。
無論如何,第一條規則絕對是不完整的。 它看起來應該像這樣:
RewriteRule ^/file-system-target(.+)$ /path/to/file/system/target/$1 [L]
我還添加了一條附加規則來處理斜杠(缺少):
RewriteRule ^/file-system-target$ /path/to/file/system/target/$1 [L]
所以我最終得到了:
RewriteRule ^/file-system-target$ /path/to/file/system/target/$1 [L]
RewriteRule ^/file-system-target(.+)$ /path/to/file/system/target/$1 [L]
RewriteRule ^/(.*) http://localhost:8080 [P]
我將假設有更優雅的方法來實現此功能,但是我對上述配置感到足夠滿意,可以將此任務稱為“完成”。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.