NGINX dünyasında yeniyim. İlk defa bir web projemiz 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=10Yukarı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/10Fakat 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?