• 12-01-2021, 15:43:09
    #1
    Merhaba
    htaccess'den fazla anlamıyorum baya uğraştım fakat beceremedim.
    Site uygulama isimle klasör içinde calısmaktadır
    https://xxx.com/uygulama/?uygulama =oyun adresini https://xxx.com/uygulama/oyun olarak yönlendirmek istiyorum.
    Belirlediğim adresler için geçerli olmalı , her parametre için değil.

    Böyle birşey denedim fakat olmadı maalesef.


    RewriteBase /uygulama/
    RewriteRule ^sitemap.xml$ index.php?route=feed/google_sitemap [L]
    RewriteRule ^googlebase.xml$ index.php?route=feed/google_base [L]
    RewriteRule ^download/(.*) /index.php?route=error/not_found [L]
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteCond %{REQUEST_URI} !.*\.(ico|gif|jpg|jpeg|png|js|css)
    Yardımlarınız için teşekkürler
  • 12-01-2021, 15:51:09
    #2
    RewriteEngine On
    RewriteBase /uygulama/
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteRule ^(oyun1|oyun2|oyun3)$ index.php?uygulama=$1 [QSA]
  • 12-01-2021, 16:25:24
    #3
    darness adlı üyeden alıntı: mesajı görüntüle
    RewriteEngine On
    RewriteBase /uygulama/
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteRule ^(oyun1|oyun2|oyun3)$ index.php?uygulama=$1 [QSA]
    Hocam , yardımcı olduğunuz için teşekkür ederim fakat bu şekilde çalışmadı
    /uygulama/oyun olarak girince index.php?uygulama=oyun adresine yönlendiriyor ve sitenin görüntüsü bozuluyor. Aslında tam tersi olması lazım.

    RewriteRule ^eski-url.html(.*)$ /yeni-url.html [L,R=301] bu şekilde 301 yönlendirme şansımız var mıdır? eski url kısmında ilk başaya parametreli girdiğimde yönlendirme çalışmıyor.
    Site index.php ekini kullanmıyoruz, /?uygulama=oyun şeklinde çalışıyor.
    Hepsini tek bir satır kodda yazmasakda uygundur, her biri için ayrı satır kod olabilir, teşekkürler

    Birde şu kodlar mevcut
    RewriteBase /uygulama/
    RewriteRule ^sitemap.xml$ index.php?route=feed/google_sitemap [L]
    RewriteRule ^googlebase.xml$ index.php?route=feed/google_base [L]
    RewriteRule ^download/(.*) /index.php?route=error/not_found [L]
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteCond %{REQUEST_URI} !.*\.(ico|gif|jpg|jpeg|png|js|css)
    RewriteRule ^([^?]*) index.php?_route_=$1 [L,QSA]
  • 12-01-2021, 16:48:41
    #4
    birde böyle denesek

    RewriteBase /uygulama/
    RewriteRule ^sitemap.xml$ index.php?route=feed/google_sitemap [L]
    RewriteRule ^googlebase.xml$ index.php?route=feed/google_base [L]
    RewriteRule ^download/(.*) /index.php?route=error/not_found [L]
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteRule ^(oyun1|oyun2|oyun3)$ index.php?_route=&uygulama=$1 [QSA]
    
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteCond %{REQUEST_URI} !.*\.(ico|gif|jpg|jpeg|png|js|css)
    RewriteRule ^([^?]*) index.php?_route_=$1 [L,QSA]
    sistemi kuran
    RewriteRule ^([^?]*) index.php?_route_=$1 [L,QSA]
    bu metod
  • 12-01-2021, 17:23:00
    #5
    darness adlı üyeden alıntı: mesajı görüntüle
    birde böyle denesek

    RewriteBase /uygulama/
    RewriteRule ^sitemap.xml$ index.php?route=feed/google_sitemap [L]
    RewriteRule ^googlebase.xml$ index.php?route=feed/google_base [L]
    RewriteRule ^download/(.*) /index.php?route=error/not_found [L]
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteRule ^(oyun1|oyun2|oyun3)$ index.php?_route=&uygulama=$1 [QSA]
    
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteCond %{REQUEST_URI} !.*\.(ico|gif|jpg|jpeg|png|js|css)
    RewriteRule ^([^?]*) index.php?_route_=$1 [L,QSA]
    sistemi kuran
    RewriteRule ^([^?]*) index.php?_route_=$1 [L,QSA]
    bu metod
    Hiç birşeye etki etmedi hocam
  • 12-01-2021, 17:46:26
    #6
    @darness; Hocam şu şekilde çözdüm fakat ufak bir sıkıntım var , yardımlarınız için teşekkürler
    https://xxx.com/uygulama/?uygulama=oyun1&bolum=2 olarak ekstra parametre geldiğinde bunuda yönlendiriyor, bunu yönlendirmesini istemiyorum.
    https://xxx.com/uygulama/?uygulama=oyun1 sadece bu adresi yönlendirmesini nasıl sağlarız ?

    Zaten Yönlendirme yapmıyormuş.

    Bu şekilde kodu çoğaltıyorum , bunu daha kısa hale çevirmek mümkün müdür sizce ?

    RewriteCond %{QUERY_STRING} uygulama=oyun1$
    RewriteRule ^([^?]*)$ /uygulama/oyun1? [L,R=301]
    
    RewriteCond %{QUERY_STRING} uygulama=oyun2$
    RewriteRule ^([^?]*)$ /uygulama/oyun2? [L,R=301]
  • 12-01-2021, 20:52:06
    #7
    bu regexle kısalabilir de fark etmez
    RewriteCond %{QUERY_STRING} uygulama=(oyun1|oyun2)$
    RewriteRule ^([^?]*)$ /uygulama/%1? [L,R=301]

    kolay gelsin
  • 13-01-2021, 02:06:11
    #8
    darness adlı üyeden alıntı: mesajı görüntüle
    bu regexle kısalabilir de fark etmez
    RewriteCond %{QUERY_STRING} uygulama=(oyun1|oyun2)$
    RewriteRule ^([^?]*)$ /uygulama/%1? [L,R=301]

    kolay gelsin
    Hocam teşekkürler fakat bir önceki mesajımda bahsettiğim olay sıkıntı yaratıyor
    Mesela https://xxx.com/uygulama/dashboard?uygulama=oyun1 url bu şekilde oluncada yönlendirme yapıyor.
    Sadece bu url için nasıl yapabiliriz ? https://xxx.com/uygulama/?uygulama=oyun1 ,https://xxx.com/uygulama/?uygulama=oyun2 Yani sadece index.php içerisinde ve sadece uygulama parametresi alacak şekilde.
  • 13-01-2021, 15:19:19
    #9
    RewriteCond %{QUERY_STRING} ^uygulama=(oyun1|oyun2)$
    RewriteCond %{REQUEST_URI}% ^/
    RewriteRule ^([^?]*)$ /uygulama/%1? [L,R=301]