nginx .htaccess / rewrite नियमों का समर्थन करता है? अपाचे से अंतर?


16

मैं काफी समय से अपाचे http सर्वर के साथ काम कर रहा हूं, और अंत में दूसरों की गतिशील सामग्री मशीनों के साथ-साथ स्थैतिक-सामग्री सर्वर पर कदम रख रहा हूं।

मैं सोच रहा था, nginx ".htaccess" फ़ाइलों का समर्थन करता है, और mod_rewrite जैसी चीजें?

जैसा कि मैं सिंटैक्स के लिए बहुत उपयोग किया जाता हूं, मैं सोच रहा था कि (सिंटैक्स) अंतर क्या थे, और सीखने की अवस्था क्या है जैसे अपाचे से चलती है नगीनक्स।

जवाबों:


15

nginx फिर से लिखना वाक्यविन्यास बहुत क्लीनर है तो mod_rewrite में समकक्ष:

mod_rewrite नियम:

 RewriteRule ^[a-z0-9_-]*-f([0-9]+)/?(p([0-9]+)\.html)?$ /viewforum.php?f=$1&start=$3 [QSA,L,NC]

नगीनक्स में बन जाता है:

rewrite ^/[a-z0-9_-]*-f([0-9]+)/?(p([0-9]+)\.html)?$ /viewforum.php?f=$1&start=$3 last;

लेकिन कोई .htaccess समर्थन ...

संपादित करें: http://example.com/~username/ urgin in nginx का समर्थन करने का एक और उदाहरण :

location ~ /~([a-zA-Z0-9]*)/(.*) {
    root /home/;
    autoindex on;
    index index.html;
    rewrite ^/~([a-zA-Z0-9]*)/(.*)$ /$1/www/$2 break;
}

5

nginx पुन: लिखने की कार्यक्षमता प्रदान करता है, NginxHttpRewriteModule की जाँच करें

आप .htaccess के साथ क्या करना चाहते हैं? आप NginxHttpAuthBasicModule के साथ मूल प्रमाणीकरण के लिए nginx सेटअप कर सकते हैं लेकिन AFAIK कॉन्फ़िगरेशन निर्देश केवल nginx.conf में संग्रहीत किए जा सकते हैं


2
अनिवार्य रूप से मैं प्रति-निर्देशिका सेटिंग्स के बारे में सोच रहा था। मैं अभी R FM पर जाऊंगा। =)
अनाम कायर

4

ऐसा प्रतीत होता है कि nginx के पास mod_rewrite समतुल्य है और प्रलेखन यहां पाया जा सकता है । मैंने खुद nginx का उपयोग नहीं किया है, लेकिन प्रलेखन ऐसा लगता है कि कॉन्फ़िगरेशन पूरी तरह से अलग है, लेकिन यह समझना बहुत कठिन नहीं होना चाहिए कि यह क्या कर रहा है। विकी के बहुत सारे उदाहरण हैं।

अगर आप अपाचे के साथ आप जैसे निर्देशिका निर्देशिका फ़ाइलों हो सकता है मैं जवाब नहीं दे सकता। यदि आप कर सकते हैं तो मुझे आश्चर्य नहीं होगा, क्योंकि लोग उम्मीद करते हैं कि अपाचे का उपयोग करने से।


0

NGINX को 'शामिल' निर्देश के माध्यम से कई फाइलों में कॉन्फ़िगरेशन का समर्थन करता है। मूल रूप से, यह एक सब-कॉन्फ़िगरेशन को लोड करता है और इसे जगह में रखता है। यह जोकर पात्रों का भी समर्थन करता है, इसलिए उनमें से कई को एक शॉट में लोड करना आसान है।

केवल सीमा (मेरी राय में) यह है कि कॉन्फ़िगरेशन बदलने पर आपको पुनः लोड करने की आवश्यकता है। तो किसी भी उपयोगकर्ता के पास जो कॉन्फ़िगरेशन का एक टुकड़ा है, उसे nginx config को फिर से लोड करने के अधिकार की आवश्यकता हो सकती है:

/etc/ini.d/nginx बल-पुनः लोड (सेंटो पर)

मैं वास्तव में नहीं जानता कि क्या इससे बचने या अलग तरीके से करने का कोई तरीका है क्योंकि मैं कई सर्वरों (वर्चुअल होस्ट) के साथ कई सर्वरों पर एनजीआईएनएक्स का उपयोग करता हूं जो मेरे अपने हैं। इसका मतलब होगा कि NGINX साझा होस्टिंग पर आदर्श नहीं है।

फिर भी मैं एनजीआईएनएक्स को बहुत पसंद करता हूं क्योंकि कॉन्फ़िगरेशन एक गंदा XML फ़ाइल की तुलना में बहुत अधिक सुपाठ्य है। स्वाद का सवाल मुझे लगता है। अन्य अच्छी बात स्पष्ट रूप से गति है, अगर यह आपके मामले में महत्वपूर्ण है।

सौभाग्य प्रवास

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.