• 23-08-2018, 23:58:51
    #1
    Merhaba. Link kısaltma sitem var. Diğer link kısaltma sitelerinde hatalı/geçersiz link olunca belirli bir sayfaya yönlendiriyor ve o sayfada reklam kodları görünmeye devam ediyor. Kırık linke tıklayan birisi linkin kırık olduğunu fark etmeden normal reklamı geçiş sayfasına gidiyor ve reklamı geçiyor. Bunun sonucunda anasayfaya yönlendiriyor.

    Benim sitemde ise link kırık ise hata veriyor. Nasıl onlarınki gibi yapabilirim? Kullandığım script ADLİNKFLY scripti. Scripti 2.el aldığımdan dolayı codecanyon destek paketinin süresi dolmuş o nedenle burada konu açıyorum. Script epey karmaşık.

    Ben örneğin /ReklamiGec/ isminde reklam geçiş sayfası oluşturup hatalı olan kırık linkleri oraya yönlendirmesini istiyorum 404 sayfası yerine. Mesela siteadresi.com/2312312 böyle bir link normalde mevcut değil sistemimde bunu yazdığımda NOT FOUND hatası vermesi yerine doğrudan belirlediğim sayfaya yönlenmesini istiyorum.


    error400.ctp isminde bir dosya buldum ve içinde şu kodlar yer alıyor. Tam olarak ne yapmalıyım?


    <?php
    /**
     * @var AppViewAppView $this
     */
    use CakeCoreConfigure;
    use CakeErrorDebugger;
    
    $this->layout = 'error';
    
    if (Configure::read('debug')) :
        $this->layout = 'dev_error';
    
        $this->assign('title', $message);
        $this->assign('templateName', 'error400.ctp');
    
        $this->start('file');
    
        ?>
        <?php if (!empty($error->queryString)) : ?>
        <p class="notice">
            <strong>SQL Query: </strong>
            <?= h($error->queryString) ?>
        </p>
    <?php endif; ?>
        <?php if (!empty($error->params)) : ?>
        <strong>SQL Query Params: </strong>
        <?php Debugger::dump($error->params) ?>
    <?php endif; ?>
    <?= $this->element('auto_table_warning') ?>
    <?php
    if (extension_loaded('xdebug')) :
        xdebug_print_function_stack();
    endif;
    
    $this->end();
    endif;
    
    ?>
    <h2><?= h($message) ?></h2>
    <p class="error">
        <strong><?= __('Error') ?>: </strong>
        <?=
        __('The requested address {0} was not found on this server.', "<strong>'{$url}'</strong>")
    
        ?>
    </p>
  • 24-08-2018, 00:24:06
    #2
    .htaccess dosyasına aşağıdaki satırları ekleyerek belirlediğiniz sayfaların görüntülenmesini sağlayabilirsiniz.
    RewriteEngine On
    ErrorDocument 404 /404.html
    ErrorDocument 500 /404.html
    ErrorDocument 403 /404.html
    ErrorDocument 400 /404.html
    ErrorDocument 401 /401.html
  • 24-08-2018, 00:35:56
    #3
    strawz adlı üyeden alıntı: mesajı görüntüle
    .htaccess dosyasına aşağıdaki satırları ekleyerek belirlediğiniz sayfaların görüntülenmesini sağlayabilirsiniz.
    RewriteEngine On
    ErrorDocument 404 /404.html
    ErrorDocument 500 /404.html
    ErrorDocument 403 /404.html
    ErrorDocument 400 /404.html
    ErrorDocument 401 /401.html
    İlginiz için teşekkürler fakat hiçbir işe yaramadı. Öyle karmakarışık sistem yapmışlar ki en ufak değişiklik için bile yarım saat 1 saat uğraşıyorum dosyayı bulabilmek için
  • 24-08-2018, 00:38:16
    #4
    ByFataLTR adlı üyeden alıntı: mesajı görüntüle
    İlginiz için teşekkürler fakat hiçbir işe yaramadı. Öyle karmakarışık sistem yapmışlar ki en ufak değişiklik için bile yarım saat 1 saat uğraşıyorum dosyayı bulabilmek için
    Herhangi bir framework kullanılarak mı yapılmış?
  • 24-08-2018, 00:42:18
    #5
    strawz adlı üyeden alıntı: mesajı görüntüle
    Herhangi bir framework kullanılarak mı yapılmış?
    Tam olarak ne olduğunu bilmiyorum o frameworkların ama aynen dosyaların içinde rastlamıştım zendframework vs. klasörleri vardı.



    error404.cpt isminde bir dosya buldum. Dosyanın içeriği şöyle: Tam olarak ne yapmalıyım istediğim sayfaya yönlendirmek için? @strawz;


    <?php
    /**
     * @var AppViewAppView $this
     */
    use CakeCoreConfigure;
    use CakeErrorDebugger;
    
    $this->layout = 'error';
    
    if (Configure::read('debug')) :
        $this->layout = 'dev_error';
    
        $this->assign('title', $message);
        $this->assign('templateName', 'error400.ctp');
    
        $this->start('file');
    
        ?>
        <?php if (!empty($error->queryString)) : ?>
        <p class="notice">
            <strong>SQL Query: </strong>
            <?= h($error->queryString) ?>
        </p>
    <?php endif; ?>
        <?php if (!empty($error->params)) : ?>
        <strong>SQL Query Params: </strong>
        <?php Debugger::dump($error->params) ?>
    <?php endif; ?>
    <?= $this->element('auto_table_warning') ?>
    <?php
    if (extension_loaded('xdebug')) :
        xdebug_print_function_stack();
    endif;
    
    $this->end();
    endif;
    
    ?>
    <h2><?= h($message) ?></h2>
    <p class="error">
        <strong><?= __('Error') ?>: </strong>
        <?=
        __('The requested address {0} was not found on this server.', "<strong>'{$url}'</strong>")
    
        ?>
    </p>
  • 24-08-2018, 01:18:27
    #6
    Emin olmamakla beraber
    <?php header('yonlendirileceksayfa.php'); ?>
    şeklinde bir kullanım deneyebilirsiniz.
  • 24-08-2018, 01:21:37
    #7
    strawz adlı üyeden alıntı: mesajı görüntüle
    Emin olmamakla beraber
    <?php header('yonlendirileceksayfa.php'); ?>
    şeklinde bir kullanım deneyebilirsiniz.
    Olmadı maalesef ama ilginizden ötürü çok teşekkür ederim. Şu an geç oldu gündüz bilen birileri çıkacaktır diye düşünüyorum.