NGINX dünyasında yeniyim. İlk defa bir web projemizi NGINX üzerinde geliştiyorum. URL yapımı değiştirmek istiyorum. Öncelikle şu anki var olan url düzenimden bahsedeyim;
domain.com/character.php
domain.com/character.php?id=1
domain.com/character.php?id=1page=slog
domain.com/character.php?page=slog
domain.com/character.php?page=slog&date=4-2018
domain.com/character.php?id=1&page=slog&date=4-2018
domain.com/character.php?id=1&page=slog&sid=10
domain.com/character.php?page=slog&sid=10
Yukarıda görmüş olduğunuz linkler, sitemin bazı sayfalarına ait. Gördüğünüz gibi SEO dostu yapıda değiller. Bu linkleri şu şekle çevirmeyi başardım;
domain.com/character/
domain.com/character/1
domain.com/character/1/slog
domain.com/character/slog
domain.com/character/slog/date/4-2018
domain.com/character/1/slog/date/4-2018
domain.com/character/1/slog/sid/10
domain.com/character/slog/sid/10
Fakat bu yapıyı yaparken, NGINX config dosyama şu uzun kod bloğunu eklemiş oldum.
location = /character {
try_files character.php /character.php;
}
location = /character/ {
try_files character.php /character.php;
}
location ~ /character/([0-9]+)$ {
try_files character.php /character.php?id=$1;
}
location ~ /character/([A-z]+)$ {
try_files character.php /character.php?page=$1;
}
location ~ /character/([0-9]+)/([A-z]+)$ {
try_files character.php /character.php?id=$1&page=$2;
}
location ~ /character/([0-9]+)/([A-z]+)/date/(.*)$ {
try_files character.php /character.php?id=$1&page=$2&date=$3;
}
location ~ /character/([A-z]+)/date/(.*)$ {
try_files character.php /character.php?page=$1&date=$2;
}
location ~ /character/([0-9]+)/([A-z]+)/sid/([0-9]+)$ {
try_files character.php /character.php?id=$1&page=$2&sid=$3;
}
location ~ /character/([A-z]+)/sid/([0-9]+)$ {
try_files character.php /character.php?page=$1&sid=$2;
}
location ~ /character/([A-z]+)/action/([A-z]+)/sid/([0-9]+)$ {
try_files character.php /character.php?page=$1&action=$2&sid=$3;
}
Ve gördüğünüz üzere bu sadece character.php ve onun altsayfaları için. İlerde character.php haricindeki birkaç sayfada buna benzer karmaşık URLler olacak. O sayfaları da istediğim hale getirmek için yine server config dosyama bir ton kod eklemem gerecek. Acaba yanlış bir şeyler mi yapıyorum? Bu işin daha kolay bir yolu yok mu?