मेरे पास नर्गिनक्स पर चलने वाली एक लार्वा साइट है, और यह ठीक है।सुंदर permalinks (एसईओ अनुकूल यूआरएल) के साथ Nginx पर Laravel के साथ वर्डप्रेस स्थापित करने के लिए कैसे?
ऐसा लगता है कि एक सामान्य फ़ोल्डर संरचना है: जहां Laravel index.php है
/app
/public
/vendor
...
/public
फ़ोल्डर है।
मैंने वर्डप्रेस को /public/blog
पर स्थापित किया है क्योंकि मैं चाहता हूं कि मेरा ब्लॉग mywebsite.org/blog
पर दिखाई दे।
ब्लॉग वर्तमान में ठीक काम करता है अगर मैं /blog/wp-admin/options-permalink.php
पर परिभाषित परमालिंक सेटिंग्स को "डिफ़ॉल्ट" पर सेट करता हूं (जिसका अर्थ है पदों के लिए यूआरएल /blog/?p=123
जैसा दिखता है)। यदि मैं पर्मलिंक सेटिंग्स को /blog/%postname%/
पर बदलता हूं, तो मैं पोस्ट नहीं देख सकता (मुझे लारवेल 404 पृष्ठ मिलता है)।
मैं निश्चित रूप से चाहता हूं कि मेरे ब्लॉग पोस्ट में एसईओ-अनुकूल यूआरएल (सुंदर परमालिंक) हों।
मेरे वर्तमान Nginx config है:
server {
#This config is based on https://github.com/daylerees/laravel-website-configs/blob/6db24701073dbe34d2d58fea3a3c6b3c0cd5685b/nginx.conf and seemed to be necessary to get Laravel working.
server_name mysite.local;
# The location of our project's public directory.
root F:/code/mysite/public/;
# Point index to the Laravel front controller.
index index.php;
location/{
# URLs to attempt, including pretty ones.
try_files $uri $uri/ /index.php?$query_string;
}
# Remove trailing slash to please routing system.
if (!-d $request_filename) {
rewrite ^/(.+)/$ /$1 permanent;
}
# Yoast WordPress SEO plugin says to add these 2 rewrites:
rewrite ^/blog/sitemap_index\.xml$ /blog/index.php?sitemap=1 last;
rewrite ^/blog/([^/]+?)-sitemap([0-9]+)?\.xml$ /blog/index.php?sitemap=$1&sitemap_n=$2 last;
# pass the PHP scripts to FastCGI server listening on 127.0.0.1:9123
location ~ \.php$ {
fastcgi_pass 127.0.0.1:9123;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}
location ~* \.(css|js|gif|jpe?g|png)$ {
#images, CSS, and JS have 1 week expiration: http://aspyct.org/blog/2012/08/20/setting-up-http-cache-and-gzip-with-nginx/ See also: http://serverfault.com/questions/339240/chromium-audit-says-its-not-caching-static-content-yet-headers-are-set-who-i
expires 168h;
add_header Pragma public;
add_header Cache-Control "public, must-revalidate, proxy-revalidate";
}
}
मैं घंटे बिताए हैं अन्य उत्तर (नीचे सूचीबद्ध) की समीक्षा करने और पता लगा नहीं किया है कि यह कैसे काम कर पाने के लिए।
सुझाव?
- https://stackoverflow.com/a/10089936/470749
- https://stackoverflow.com/a/18596822/470749
- https://stackoverflow.com/a/17816122/470749
- https://stackoverflow.com/a/12635095/470749
- https://stackoverflow.com/a/11522602/470749
- https://stackoverflow.com/a/6155935/470749
- https://stackoverflow.com/a/23416206/470749
- http://codex.wordpress.org/Nginx#WordPress_Multisite_Subdirectory_rules
- http://codex.wordpress.org/Giving_WordPress_Its_Own_Directory
- https://rtcamp.com/wordpress-nginx/tutorials/multisite/subdirectories/in-a-subdirectory/
पी.एस. मैं लचीला हूं जहां मैं वर्डप्रेस फाइलों को स्थापित करता हूं (उदा। /public/blog
पर या इसे /blog
या /wordpress
पर ले जाएं)। अपने /
स्थान में laravel को
हे साथी, हथियारों के लिए अपने कॉल करने के लिए यहाँ का जवाब दे :) के रूप में अपने ब्लॉग जहाँ आप इस लिंक पोस्ट पर चर्चा की, आप वर्डप्रेस एक स्तर ऊपर ले जाकर की कोशिश की और के लिए एक स्थान को जोड़ने जैसा कि यहां वर्णित है: http://tom.londondroids.com/2011/11/configuring-nginx-to-serve-multiple-webapps-from- अलग- निर्देशिका /? चीयर्स – gru
@gru आपको बहुत बहुत धन्यवाद। हाँ, मैंने कोशिश की थी। मुझे लगता है कि नीचे मेलविन का जवाब अच्छा दिखता है, है ना? ऐसा लगता है यह मेरे लिए काम का होगा! – Ryan