2016-08-12 44 views
6

Tôi cố gắng chuyển khách truy cập của mình đến giao diện qua proxy Apache. Những công việc này. Để tùy chỉnh giao diện (CSS, hình ảnh, vv), chúng tôi muốn chúng tôi có thể ghi đè lên các tệp trên máy chủ từ xa. Đây là mã của chúng tôi:Chỉ sử dụng proxy nếu tệp không tồn tại

RewriteEngine on 
SSLProxyEngine on 
SSLProxyVerify none 
SSLProxyCheckPeerCN off 
SSLProxyCheckPeerName off 
SSLProxyCheckPeerExpire off 

RewriteCond %{REQUEST_FILENAME} !-f 
RewriteRule (.*) https://.../$1 [P,L] 

Trong thư mục gốc của Apache, ví dụ: css/style.css. Nhưng yêu cầu điều này trong trình duyệt web, nó cho thấy phiên bản của trang web được tìm nạp thông qua proxy. Chúng tôi đã thử nhiều thứ mà không thành công.

Cảm ơn!

+0

Chỉ cần một đoán hoang dã, nhưng có thể giúp bạn. Có lẽ bạn chỉ có thể proxy hai thư mục đến hai địa điểm khác nhau. Không chắc chắn điều này làm việc ở tất cả, nhưng một cái gì đó để thử. ProxyPass "/ site" "http://backend.example.com" connectiontimeout = 5 timeout = 30 ProxyPass "/ site/css_folder_you_want_to_change" "http://css_backend.example.com" connectiontimeout = 5 timeout = 30 –

+1

RewriteLog/loglevel viết lại những gì: trace8 nói về bài kiểm tra -f? – covener

Trả lời

0

Hãy thử quy tắc này bằng cách loại trừ tiếng css/js/image phần mở rộng:

RewriteEngine On 

RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_URI} !\.(?:jpe?g|gif|bmp|png|ico|tiff|css|js)$ [NC] 
RewriteRule (.*) https://example.com/$1 [P,L] 
Các vấn đề liên quan