• 12-03-2019, 16:39:45
    #1
    Kullandığım yazılım normalde apache destekli ve içerikleri webroot klasöründen çekiyor bir bakıma webroot klasörünü ana klasör olarak tanımlıyor. Fakat yeni geçtiğim sunucu nginx kullanıyor. Arkadaşıma söyledim sağ olsun kodu nginx webconfig haline çevirdi. Yazılım gayet çalışıyor ama şöyle hatalar alıyorum
    Ana dizine örneğin google doğrulama html'i attığımda 404 alıyorum bunun nedeni anadizin olarak webroot klasörünü seçmem ama html dosyasını webroot dizinine atsam da gözükmüyor.
    site.com/blog şeklinde blog kurmak istedim. Kurulumu site.com/webroot/blog adresine kurdum site.com/blog şeklinde girdiğimde blog açılıyor ama yazıya girdiğimde 404 alıyorum. site.com/webroot/blog/yazi şeklinde girsem de 404 alıyorum.

    htaccess kodu:
    DirectoryIndex index.php
    
    #<Files ~ ".(woff2|woff|ttf|otf|svg)$">
    #    Header add Access-Control-Allow-Origin "*"
    #</Files>
    
    # No directory listings
    IndexIgnore *
    
    <IfModule mod_rewrite.c>
        RewriteEngine on
    
        # Comment the following line if you have not a .well-known directory in the root folder.
        RewriteRule ^(.well-known/.*)$ $1 [L]
    
        RewriteRule    ^$    webroot/    [L]
        RewriteRule    (.*) webroot/$1    [L]
    </IfModule>
    web.config kodu:
    <?xml version="1.0" encoding="UTF-8"?>
    <configuration>
        <system.webServer>
            <rewrite>
                <rules>
                    <rule name="Exclude direct access to webroot/*"
                      stopProcessing="true">
                        <match url="^webroot/(.*)$" ignoreCase="false" />
                        <action type="None" />
                    </rule>
                    <rule name="Rewrite routed access to assets(img, css, files, js, favicon)"
                      stopProcessing="true">
                        <match url="^(img|css|files|js|vendor|build|favicon.ico|robots.txt)(.*)$" />
                        <action type="Rewrite" url="webroot/{R:1}{R:2}"
                          appendQueryString="false" />
                    </rule>
                    <rule name="Rewrite requested file/folder to index.php"
                      stopProcessing="true">
                        <match url="^(.*)$" ignoreCase="false" />
                        <action type="Rewrite" url="index.php"
                          appendQueryString="true" />
                    </rule>
                </rules>
            </rewrite>
        </system.webServer>
    </configuration>
    Yardımcı olabilecek var mı?
  • 12-03-2019, 16:45:35
    #2
    Hangi paneli kullanıyorsun?
  • 12-03-2019, 16:46:10
    #3
    php den ek ngix kodlarına şunları ekleyip deneyin

    if (!-e $request_filename)
    {
    rewrite ^(.+)$ /index.php?q=$1 last;
    }
  • 12-03-2019, 16:51:16
    #4
    Kimlik doğrulama veya yönetimden onay bekliyor.
    nginx i proxy olarak kullanıyorsunuz göründüğü kadarıyla. wordpress blogsa htaccesse wordpress rewrite kurallarını eklemeniz gerekiyor klasöre girebilmek için

    # BEGIN WordPress
    <IfModule mod_rewrite.c>
    RewriteEngine On
    RewriteBase /
    RewriteRule ^index.php$ - [L]
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteRule . /index.php [L]
    </IfModule>
    # END WordPress