Ir para conteúdo

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

daemon

Redirecionar para uma página específica caso não encontrar a mesma

Recommended Posts

Bom dia,

 

Quando o usuário navegar para uma página que não existe gostaria de redirecionar para 404.php...

 

É via .htaccess ?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Sim.

ErrorDocument 404 http://example.com/404.php

 

Compartilhar este post


Link para o post
Compartilhar em outros sites

  • Conteúdo Similar

    • Por eduardodsilvaq
      Erro retornado no console do navegador: 400 bad request
      Rastreei o erro ate essa parte no arquivo admin-ajax.php mudando o valor de resposta de 0 para 1:
      if ( is_user_logged_in() ) { // If no action is registered, return a Bad Request response. if ( ! has_action( "wp_ajax_{$action}" ) ) { wp_die( '0', 400 ); } Tentei de tudo, mas infelizmente nao entendi oq realmente significa esse login e como ele funciona.
      Vi algumas pessoas tendo problema com o host, no meu caso estou usando hostinger. (Nao creio que isso e relevante mas ta ai.)
       
      Código utilizado:
       
      Javascript
      function formValidation() { event.preventDefault(); var name = document.forms["contactForm"]["name"].value; var email = document.forms["contactForm"]["email"].value; var subject = document.forms["contactForm"]["subject"].value; var message = document.forms["contactForm"]["message"].value; document.getElementById('status').innerHTML = ''; var errorMessage="<span class='error'>All fields are required.</span>"; var regEx = /^([A-Za-z0-9_\-\.])+\@([A-Za-z0-9_\-\.])+\.([A-Za-z]{2,4})$/; if (name.trim() == "" ||email.trim() == "" || subject.trim() == "" || message.trim() == "") { document.getElementById('status').innerHTML = errorMessage; return false; } if (!regEx.test(email)) { var errorMessage="<span class='error'>Invalid email.</span>"; document.getElementById('status').innerHTML = errorMessage; return false; } processContactSubmit(); return true; } function processContactSubmit() { var request = new XMLHttpRequest(); request.open("POST", "/wp-admin/admin-ajax.php?action=process_contact_form"); request.onreadystatechange = function() { if(this.readyState === 4 && this.status === 200) { document.getElementById("status").innerHTML = this.responseText; } }; var myForm = document.getElementById("contactForm"); var formData = new FormData(contactForm); request.send(formData); } functions.php
      add_action('wp_ajax_nopriv_process_contact_form', 'process_contact_form'); add_action('wp_ajax_process_contact_form', 'process_contact_form'); //Retirar essa parte para error no console, no contrario ira aparecer no navegador o numero 0. function process_contact_form() { $to = "Recipient Email Address"; $subject = $_POST["subject"]; $headers = "Testing"; $message = $_POST["message"]; $attachments = ""; $sent = wp_mail($to, $subject, $message, $headers, $attachments); if (! $sent) { echo "<span class='error'>Problem in sending mail.</span>"; } else { echo "<span class='success'>Hi, thank you for the message.</span>"; } wp_die(); } Html
      <form name="contactForm" id="contactForm" method="post" onsubmit="return formValidation()" action=""> <p class="comment-form-comment"><textarea id="message" name="message" required="" placeholder="" aria-required="true"></textarea></p> <p class="comment-form-author"><label for="author">Nome: </label> <input id="name" name="name" required="" size="30" type="text" value=" " /></p> <p class="comment-form-author about"><label for="author">Assunto: </label> <input id="subject" name="subject" required="" size="40" type="text" value=" " /></p> <p class="comment-form-email"><label for="email">Email: </label> <input id="email" name="email" required="" size="30" type="text" value="" /></p> <p class="form-submit"><input id="submit" class="submit" name="email_contato" type="submit" value="Enviar" /></p> </form>&nbsp; <h3><div id="status"></div></h3>  
    • Por unset
      Olá, eu formatei minha máquina e agora não consigo fazer rodar meu sistema.
       
      Instalei o Wampserver e agora o Xamp e eles não leem minhas url amigáveis, existe alguma configuração extra a se fazer?
       
      O modulo do arquivo httpd.conf esta ativado 
       
      LoadModule rewrite_module modules/mod_rewrite.so  
      meu htaccess
      <IfModule mod_rewrite.c> RewriteEngine On RewriteCond %{SCRIPT_FILENAME} !-f RewriteCond %{SCRIPT_FILENAME} !-d RewriteRule ^(.*)$ index.php?url=$1 </IfModule> Os sites carrega normal mais ao clicar nos links por exemplo http://localhost/site/eventos da erro 404
       
      Error 404 localhost Apache/2.4.41 (Win64) OpenSSL/1.1.1c PHP/7.4.2  
       
       
    • Por Nksow
      Olá, sou novo nesse mundo de php e wordpress e me ví em uma situação que não achei solução.
      Eu criei uma página customlogin.php mas e fiz upload para para o servidor mas quando tento acessá-la (http://dominio/customlogin.php) dá erro 404.
       
       
    • Por Benilton Santos
      Olá galerinha do bem, estou tendo um problema na implementação da pagina 404, depois da implementação não consigo mais acessar nenhuma pagina, que todas elas da na 404, alguem ai pode me da uma ideia do que aconteceu estou travado nessa aula
       
      Class Core { public function StartCore() { $Url = '/'; if (filter_input(INPUT_GET, 'url', FILTER_DEFAULT)): $Url .= filter_input(INPUT_GET, 'url', FILTER_DEFAULT); endif; $Params = array(); if (!empty($Url) && $Url !== '/'): $Url = explode('/', $Url); array_shift($Url); $CurrentController = $Url[0] . 'Controller'; array_shift($Url); if (isset($Url[0]) && !empty($Url[0])): $CurrentAction = $Url[0]; array_shift($Url); else: $CurrentAction = 'index'; endif; if (count($Url) > 0): $Params = $Url; endif; else: $CurrentController = 'HomeController'; $CurrentAction = 'index'; endif; if (!file_exists('Controllers/' . $CurrentController . '.php') || !method_exists($CurrentController, $CurrentAction)): $CurrentController = 'NotFoundController'; $CurrentAction = 'index'; endif; $C = new $CurrentController(); call_user_func_array(array($C, $CurrentAction), $Params); } }  
      Class ControllerCore { public function loadView($viewName) { require_once ('App/Views/'.$viewName.'.php'); } }  
      Class NotFoundController extends ControllerCore { public function index() { $this->loadView('404', array()); } }  
      Opsss: Página não encontrada!
    • Por ewersonsv
      Olá pessoal tou fazendo uma aplicação e tipo quero que quando não houver o tal post pelo link (slug) chamado mostra erro 404
      tou usando o code abaixo com count() porem quero mostrar tal erro sem muda o link da pagina atual (ou melhor so slug).
      $pxpost = $_GET['pst']; $post_run = "SELECT * FROM post WHERE slug = '$pxpost'"; $p_rx = $conn->query($post_run)->fetchAll(); if(count($p_rx) > 0){ $p_x = $conn->query($post_run); $post = $p_x->fetch(PDO::FETCH_ASSOC); }else{ //Mostrar erro 404 sem muda o link atual. } Agradeço Desde Ja!
×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.