में एक उपनिर्देशिका में रूट पता को फिर से लिखें, मैं अपनी मीडियाविकी साइट को php के बैकएंड पर अपाचे के साथ स्थैतिक फ़ाइलों के लिए अग्रभाग के रूप में nginx का उपयोग करने के लिए परिवर्तित कर रहा हूं। जब तक मैं मूल निर्देशिका "example.com" को देखता हूं, तब तक मुझे अब तक काम करने वाली सबकुछ मिल गई है, यह एक निर्देशिका सूची की सेवा करने की कोशिश करता है और 403 त्रुटि देता है क्योंकि मेरे पास अक्षम है और वहां कोई अनुक्रमणिका फ़ाइल नहीं है।nginx
अपाचे पुनर्लेखन नियम मैं जगह में अभी बस है:
RewriteRule ^$ /wiki/Main_Page [L]
मैं nginx में एक स्थान निर्देश के साथ कुछ ऐसा ही करने की कोशिश की, लेकिन यह काम नहीं कर रहा:
location =/{
rewrite "^$" /wiki/Main_Page;
}
के बाकी मेरे स्थान निर्देश हैं:
location/{
try_files $uri $uri/ @rewrite;
}
location @rewrite {
rewrite ^/wiki/(.*)$ /w/index.php?title=$1&$args;
}
location ~* \.(js|css|png|jpg|jpeg|gif|ico)$ {
try_files $uri /w/index.php?title=$1&$args;
expires max;
log_not_found off;
}
location ~ \.php?$ {
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $remote_addr;
proxy_set_header Host $host;
proxy_pass http://127.0.0.1:8080;
}
मैं केवल एक index.php फ़ाइल हेडर के साथ रख सकता हूं ('Locat आयन: ') इसमें, लेकिन मैं इसे फिर से लिखने के नियम के साथ ठीक से करूँगा।
nginx के साथ मीडियाविकी चलाने के लिए मुझे ऑनलाइन मिले सभी उदाहरण विकी/viki/subdirectory के बजाय wiki.example.com के रूप में विकी चलाते हैं।
संपादित करें: मैंने इस तरह की try_files को जोड़ने का भी प्रयास किया: try_files $uri $uri/ @rewrite /wiki/Main_Page;
उसी 403 त्रुटि परिणाम के साथ।
मुझे यह कोड कहां लिखना चाहिए? –
@Pankajkatiyar आपके सर्वर ब्लॉक –