Popüler Aramalar:  TLS Nedir?  MyBB SSL Ayarları  MyBB 1.8 Linkleri Gizleme Eklentisi  Wordpress LiteSpeed Cache Ayarları  Wordpress Eklentisiz Breadcrumb  Yandex Webmaster
Nginx + WordPress Kalıcı Bağlantı Ayarları Nasıl Yapılandırılır ?

Nginx + WordPress Kalıcı Bağlantı Ayarları Nasıl Yapılandırılır ?

Selamlar,

Bugün sizlere WordPress altyapısına sahip ve Nginx webserver işlemcisinde çalışan blog sitelerinizin kalıcı bağlantı ayarlarını nasıl yapacağınızı ve nginx’de bu kalıcı bağlantılarınızı sorunsuz bir şekilde çalıştırabileceğinizi anlatacağım.

Nginx hakkında bilgi sahibi olmayanlar için kısaca nginx hakkında ön bilgi vermek istiyorum.

Nginx Nedir ?

[accordion] [accordion-group title=”Nginx Nedir ?”]

Nginx rus yazılım mühendisi Igor Sysoev tarafından geliştirilen hafif, stabil, hızlı bir mail istemcisi olarak kodlanan daha sonraları geliştirilerek tüm sunucular için uygun hale getirilen bir webserver işlemcisidir.

Nginx özellikle yüksek trafikli ve yoğun istek girişi olan web siteleri için biçilmiş kaftandır. Single Thread yanıt yapısıyla sayfayı tek seferde indirip sayfa açılma hızında farkedilir bir şekilde büyük bir artış sağlar. Ayrıca nginx apache ve litespeed ile karşılaştırıldığında çok daha az cpu kullanır. Bu sebeple Nginx vps sunucular için biçilmiş kaftandır.

[/accordion-group] [/accordion]

 

Nginx’i kısaca anlattıktan sonra asıl konumuz olan nginx üzerinde çalışan bir wordpress altyapılı sitede kalıcı bağlantı ayarlarını nasıl yapılandırıp ve self url’lerimizi sorunsuz bir şekilde çalıştırmak için yapılacakları anlatmaya geçelim.

Bildiğiniz üzere Nginx webserver işlemcisinde ne yazık ki Apache’nin mod_rewrite özelliği çalışmamaktadır, bundan dolayıda wordpress gibi self url yapısı kullanan sistemlerde .htaccess dosyası çalışmayacaktır. Peki, .htaccess kullanmadan nginx üzerinde çalışana wordpress altyapılı sitemde’de kalıcı bağlantı ayarlarını nasıl sorunsuz çalıştıracağım ? diyorsanız eğer aşağıda adım adım nasıl yapılacağını anlattım.

Anlatımı mı yaparken Centos 6 x64 bit işletim sistemine sahip, herhangi bir sunucu kontrol paneline sahip olmayan, nginx webserver işlemcisi yüklü bir linux vps sunucu üzerinde işlemler yapılmıştır. İşlemler dediysem korkmayın, karmaşık birçok işlemden bahsetmiyorum oldukça kolay basit birkaç adımda kalıcı bağlantılarımız çalışır hale gelmektedir.

WordPress kalıcı bağlantı (permalink) nedir?

WordPress’de girilen yazı, sayfa, kategori ve etiketler gibi içerikler için bir link yapısı mevcuttur. Örneğin bir yazı eklediğiniz zaman permalik ayarı yapılmamış bir wordpresste aşağıdaki gibi link ile yayınladığınız yazınıza erişebilirsiniz. (Bu yazıya erişmek için kullanabileceğiniz link)

https://www.huseyinkorbalta.com/?p=1091

Ancak içeriklere kolay erişim ve arama motoru optimizasyonu gibi konular için üstteki bağlantılar aşağıdaki gibi değiştirilebilir:

https://www.huseyinkorbalta.com/nginx-wordpress-kalici-baglanti-ayarlari-nasil-yapilandirilir/

Bunu wordpress kontrol panelindeki Ayarlar menüsü altındaki Kalıcı Bağlantılar bölümünden ayarlayabilirsiniz.

Nginx Ayarları

Web server olarak nginx kullanıyorsanız, sunucu tarafında ayar dosyasında değişiklik yapmanız gerekmektedir. (Ben huseyinkorbalta.com için ayar dosyasını açarak göstereceğim)

sudo nano /etc/nginx/sites-available/huseyinkorbalta.com

* Eğer bir domain kullanmıyorsanız ya da virtual host tanımlaması mevcut değilse, nginx default ayar dosyasını açmalısınız:

sudo nano /etc/nginx/sites-available/default

Dosyayı açtıktan sonra server_name  ile başlayan satırdan sonra aşağıdaki kod bloğunu eklemeniz gerekmektedir:

location / {
        try_files $uri $uri/ /index.php?q=$uri&$args;
    }

Ekleme yaptıktan sonra dosyanız aşağıdaki gibi görünmeli:

server {
    listen 80;

    root /var/www/huseyinkorbalta.com/public;
    index index.php index.html index.htm;

    server_name huseyinkorbalta.com www.huseyinkorbalta.com;

    location / {
        try_files $uri $uri/ /index.php?q=$uri&$args;
    }

    location ~ \.php$ {
        try_files $uri =404;
        fastcgi_split_path_info ^(.+\.php)(/.+)$;
        fastcgi_pass unix:/run/php/php7.0-fpm.sock;
        fastcgi_index index.php;
        fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
        include fastcgi_params;
    }
}

Düzenlediğiniz dosyayı kaydettikten sonra değişiklik yaparken bir hata yapıp yapmadığımızı test ediyoruz:

sudo nginx -t

Eğer bir hata yoksa, yapılan değişikliklerin geçerli olabilmesi için servisi yeniden başlatıyoruz.

sudo service nginx restart

Bu işlemden sonra wordpress kurulu olan adrese girerek kalıcı bağlantıların çalıştığınız görebilirsiniz. Bir hata ile karşılaşırsanız lütfen yorum olarak iletmekten çekinmeyin.

 Yazı Bağlantısını Kopyala & Paylaş

Benzer Yazılar

  • WordPress’te Birden Fazla Yazı Kısaltma Fonksiyonu Nasıl Yapılır?

    WordPress’te Birden Fazla Yazı Kısaltma Fonksiyonu Nasıl Yapılır?

    Wordpress'te varsayılan olarak blog yazıları 55 kelime kısaltılmakta. Wordpress'in yazı uzunluğu filtreleme fonksiyonu kullanılarak bu varsayılan değeri değiştirebiliyoruz ve bu değiştirdiğimiz de sadece bir yerde kullanabiliyoruz, peki ya birden fazla alanda farklı kelime uzunlukları kullanmak istiyorsak? Birden fazla yazı türüne sahip bir internet sitesi geliştiriyorsanız, her farklı alan için farklı…
  • WordPress Easy WP SMTP Eklentisinde Önemli Güvenlik Açığı!

    WordPress Easy WP SMTP Eklentisinde Önemli Güvenlik Açığı!

    Geçtiğimiz hafta Wordpress'in en çok kullanılan mail işlemcisi eklentisi olan Easy WP SMTP'nin yapmış olduğu bir güncelleme çok önemli bir güvenlik açığına neden oldu. Wordpress'in paylaştığı verileri göre 300,000 site tarafından aktif olarak kullanılmakta olan bu eklentinin 1.3.9 sürümünde meydana gelen güvenlik açığı bir çok internet sitesini etkilemiştir. Blog yazımda…
  • WordPress Eklentisiz Yazı İçi Reklam Alanı Nasıl Oluşturulur?

    WordPress Eklentisiz Yazı İçi Reklam Alanı Nasıl Oluşturulur?

    Wordpress dünyanın en geniş eklenti kütüphanesine sahip yazılımıdır. Hemen hemen her şey için bir eklentisi mevcut, fakat Wordpress her ne kadar eklenti açısından zengin olsa da her şeyi eklentiyle yapmak sitenizin yayın yaptığı hosting ya da sunucuyu bir süre sonra yormaya başlayacaktır. Bende size bu blog yazımda eklenti kullanmadan yazı…
  • Debian 9’a MariaDB Nasıl Kurulur?

    Debian 9’a MariaDB Nasıl Kurulur?

    Bu blog yazımda dünyanın en çok tercih edilen, ücretsiz ve açık kaynak kodlu oldukça stabil, hızlı ve çeşitli modüller ile desteklenebilen veri tabanı sunucusu olan MariaDB'yi Debian 9 işletim sistemine nasıl kuracağınızı göstereceğim. MariaDB, oldukça hızlı, kararlı ve ölçeklenebilir bir MySQL veritabanı sunucusunun geliştirilmiş,eskiye dönük yazılımlarla tam uyumlu çalışabilen, drop-in…
Nginx + WordPress Kalıcı Bağlantı Ayarları Nasıl Yapılandırılır ? için Yorum'da Bulun

Bu yazıya şimdiye kadar 4 Yorum yapılmıştır.

  • Yorum Sahibi
     Yanıtla
    der Ziyaretçi

    adamsın

  • Yorum Sahibi
     Yanıtla
    ALi Ziyaretçi

    Hocam bende sites available gözükmüyor. ayrıca config dosyasını açınca site ismi yerine localhost yazıyor.

    default.conf içinde bunlar yazıyor.

    server {
    listen 80;
    server_name localhost;

    #charset koi8-r;
    #access_log /var/log/nginx/host.access.log main;

    location / {
    root /usr/share/nginx/html;
    index index.html index.htm;
    try_files $uri $uri/ /index.php?q=$uri&$args;
    }

    #error_page 404 /404.html;

    # redirect server error pages to the static page /50x.html
    #
    error_page 500 502 503 504 /50x.html;
    location = /50x.html {
    root /usr/share/nginx/html;
    }

    # proxy the PHP scripts to Apache listening on 127.0.0.1:80
    #
    #location ~ \.php$ {
    # proxy_pass http://127.0.0.1;
    #}

    # pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000
    #
    #location ~ \.php$ {
    # root html;
    # fastcgi_pass 127.0.0.1:9000;
    # fastcgi_index index.php;
    # fastcgi_param SCRIPT_FILENAME /scripts$fastcgi_script_name;
    # include fastcgi_params;
    #}

    # deny access to .htaccess files, if Apache's document root
    # concurs with nginx's one
    #
    #location ~ /\.ht {
    # deny all;
    #}
    }

    ne yapmam gerekir tavsiyeniz var mıdır?

    • Yorum Sahibi
       Yanıtla
      Hüseyin Körbalta Yazar 

      Merhaba,

      Servername kısmına site adresinizi yazmanız ve conf dosyasını kaydetmeniz gerekiyor. Daha sonra nginx servisini yeniden başlatarak ayarların devreye girmesini sağlayabilirsiniz.

      • Yorum Sahibi
         Yanıtla
        Ali Ziyaretçi

        Tekrardan Merhaba,
        Size ne kadar teşekkür etsem azdır. Etc içerisindeki Nginx içerisindeki localhost kısmını kendi site adresimle değiştirmeden home/kullanıcı/web/conf içerisindeki ssl.alanadi.nginx.configurasyon dosyasının içerisine alttaki kod bloğunu ekleyerek çözüm sağlamıştım
        —————————————————–
        if (!-e $request_filename) {
        rewrite ^(.*)$ /index.php?q=$1 last;
        break;
        }
        —————————————————–

        subdomainime wordpress kurdum ve aynı kalıcı bağlantı ayarlarını yaptım ve 404 hatası aldım ve daha sonra subdomainimin web conf içöerisindeki ssl kısmında aynı değişikliği yapınca sonuç alamadım ve sizin yönteminizi denedim sorunu çözdüm. Saatlerce birçok forum dolaştım ama siz olmasanız çözmem çok zor olurdu. Bilginin yayılmasına katkı sunduğunuz için teşekkür ederim, Allah razı olsun.

Bir Cevap Yaz

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir

 Lütfen, en az 15 karakterli bir yorum belirtiniz.

 Lütfen,isminizi belirtiniz.
 Lütfen, kullanmakta olduğunuz bir e-mail adresi giriniz.
 Yukarıda ki alanı işaretlemeniz zorunludur.Aksi takdirde yorumunuz gönderilemeyecektir.