WordPress kalıcı bağlantılar için Nginx yapılandırması

Günümüzün en popüler içerik yönetim sistemi ( CMS ) olan WordPress’de kalıcı bağlantılar ( permalinks ) apache üzerinde .htaccess ile hızlıca yapılandırılabilirken nginx’in farklı yapısı nedeni ile ilk başta sıkıntılı bir süreç gibi gözükebiliyor. Ancak nginx ayarlarında gerçekleştireceğiniz basit bir kaç düzenleme ile WordPress kalıcı bağlantı ( permalinks ) rahatça tanımlanabilir.

Öncelikle web sitemizin konfigürasyon dosyasını açıyoruz.

nano /etc/nginx/site-enabled/sanal.pro.conf

WordPress yazılımımız sanal.pro gibi alan adının ana dizininde çalışıyor ise nginx yapılandırma dosyasında konum ( location ) bölümünün aşağıdaki gibi düzenlenmesi gerekmektedir..

location / {
    index index.php index.html index.htm;
    try_files $uri $uri/ /index.php?$args;
}

Wordrepss /blog gibi alt dizin içerisinde çalışıyor ise de konfigürasyon dosyasında konum bölümünü aşağıdaki gibi düzenlemek gerekmektedir.

location /blog {
    index index.php index.html index.htm;
    try_files $uri $uri/ /index.php?$args;
}

Düzenlemeler sonrası konfigürasyon dosyanızı kaydedin ve nginx hizmetini güncelleyin.

systemctl reload nginx.service

Örnek olması açısından düzenli sonrası bir config dosyasının tam görünümü

server {

access_log off;
log_not_found off;
error_log  logs/sanal.pro-error_log crit;

	listen 80;
 	server_name sanal.pro www.sanal.pro;
        root   /var/www/vhosts/sanal.pro;
        index  index.php index.html index.htm;

        location ~* \.(gif|jpg|jpeg|png|ico|wmv|3gp|avi|mpg|mpeg|mp4|flv|mp3|mid|js|css|wml|swf|ttf|ttc|otf|eot|woff|woff2)$ {
                expires max;
                add_header Pragma public;
                add_header Cache-Control "public, must-revalidate, proxy-revalidate";
        }

        location / {
	        # WordPress kalıcı bağlantı satırı
	        try_files $uri $uri/ /index.php?$args;
        }

	# php-parsing using php-fpm
        location ~ \.php$ {
            try_files $uri =404;
            fastcgi_pass   unix:/tmp/sanalpro_php5-fpm.sock;
            fastcgi_index  index.php;
            fastcgi_param  SCRIPT_FILENAME  $document_root$fastcgi_script_name;
            include        fastcgi_params;
            fastcgi_buffer_size 128k;
            fastcgi_buffers 256 4k;
            fastcgi_busy_buffers_size 256k;
            fastcgi_temp_file_write_size 256k;
       }
}

Yorum yapın