पारित मैं पुनर्लेखन इन दो प्रकार की जरूरत है:nginx उप डोमेन और डोमेन पुनर्लेखन डब्ल्यू प्रॉक्सी
subdomain.domain.com => domain.com/website/subdomain
otherdomain.com => domain.com/userdomain/otherdomain.com
मेरे समस्या यह है कि मैं उपयोगकर्ता subdomain.domain.com
देखना चाहते है, और otherdomain.com
, नहीं पुनर्निर्देशित संस्करण। nginx में मेरे वर्तमान फिर से लिखने से काम करता है, लेकिन उपयोगकर्ता के URL रीराइट से पता चलता है, और मैं इस किसी भी विचार ?:
upstream domain_server { server localhost:8000 fail_timeout=0; }
server {
listen 80;
root /var/www/domain.com;
server_name domain.com ~^(?<subdomain>.*)\.domain\.com$ ~^(?<otherdomain>.*)$;
if ($subdomain) {
rewrite^http://domain.com/website/$subdomain break;
}
if ($otherdomain) {
rewrite^http://domain.com/userdomain/$otherdomain break;
}
location/{
proxy_redirect off;
proxy_buffering off;
proxy_set_header Host $http_host;
proxy_set_header X-forwarded-for $proxy_add_x_forwarded_for;
if (!-f $request_filename) {
proxy_pass http://domain_server;
break;
}
}
}
यहाँ कुछ रोचक लगा: http://blog.martinfjordvald.com/2011/02/nginx-primer- 2-से-अपाचे करने वाली nginx /। यह कहता है "Nginx पुनर्लेखन के बारे में एक और बात यह है कि डिफ़ॉल्ट रूप से वे आंतरिक पुनर्लेखन होते हैं, जिसका अर्थ है कि वे यूआरआई को ब्राउज़र को नहीं देख पाएंगे। वे केवल तभी ऐसा करेंगे जब आप" रीडायरेक्ट "या" स्थायी "फिर से लिखना ध्वज निर्दिष्ट करते हैं या यदि आप http: // part सहित एक पूर्ण यूआरएल को फिर से लिखते हैं। " समाधान के साथ आने के लिए इसका उपयोग करने की कोशिश कर रहा है ... – pyramation