Problème erreur redirection cakephp

Discussion dans 'URL Rewriting et .htaccess' créé par gotgot, 4 Avril 2016.

  1. gotgot
    gotgot WRInaute discret
    Inscrit:
    1 Octobre 2014
    Messages:
    188
    J'aime reçus:
    0
    Bonjour,
    voilà j'ai un petit soucis sur lequel je bloque, site développer avec cakephp 3, impossible de rediriger cette url en erreur:
    -http://www.champagne-arnaud-beaufort-fils.fr/index
    alors que j'ai pas de soucis pour rediriger l'index.php

    contenu de mon htaccess à la racine:
    Code:
    <IfModule mod_rewrite.c>
        RewriteEngine on
        RewriteRule    ^$    webroot/    [L]
        RewriteRule    (.*) webroot/$1    [L]
    </IfModule>
    RedirectPermanent /index.php -http://www.champagne-arnaud-beaufort-fils.fr
    RedirectPermanent /presentation -http://www.champagne-arnaud-beaufort-fils.fr
    RedirectPermanent /champagne-trepail -http://www.champagne-arnaud-beaufort-fils.fr/gammes
    RedirectPermanent /plan -http://www.champagne-arnaud-beaufort-fils.fr/contact
    RedirectPermanent /contact/1 -http://www.champagne-arnaud-beaufort-fils.fr/contact
    RedirectPermanent /contact/2 -http://www.champagne-arnaud-beaufort-fils.fr/contact
    RedirectPermanent /contact/contact/2 -http://www.champagne-arnaud-beaufort-fils.fr/contact
    RedirectPermanent /appointment -http://www.champagne-arnaud-beaufort-fils.fr/contact
    RedirectPermanent /info -http://www.champagne-arnaud-beaufort-fils.fr
    RedirectPermanent /v -http://www.champagne-arnaud-beaufort-fils.fr
    RedirectPermanent /infoCookies- http://www.champagne-arnaud-beaufort-fils.fr
    RedirectPermanent /print -http://www.champagne-arnaud-beaufort-fils.fr
    RedirectPermanent /printiti -http://www.champagne-arnaud-beaufort-fils.fr
    RedirectPermanent /printplan -http://www.champagne-arnaud-beaufort-fils.fr/contact
    RedirectPermanent /zone-intervention -http://www.champagne-arnaud-beaufort-fils.fr/contact
    Si je mais une redirection comme je fais là, pour les autres ça ne fait rien du tout.

    contenu de mon htacces dans le dossier webroot:
    Code:
    <IfModule mod_rewrite.c>
        RewriteEngine On
        RewriteCond %{REQUEST_FILENAME} !-f
        RewriteRule ^ index.php [L]
        RewriteEngine On 
    	RewriteCond %{HTTP_HOST} ^-champagne-arnaud-beaufort-fils.fr$ 
    	RewriteRule ^(.*) -http://www.champagne-arnaud-beaufort-fils.fr/$1  [QSA,L,R=301]
    </IfModule>
    <IfModule mod_mime.c>
    AddType application/font-woff2 .woff2
    </IfModule>
    <IfModule mod_expires.c>
    ExpiresActive On
    ExpiresByType image/jpg "access plus 1 year"
    ExpiresByType image/jpeg "access plus 1 year"
    ExpiresByType image/gif "access plus 1 year"
    ExpiresByType image/png "access plus 1 year"
    ExpiresByType text/css "access plus 1 month"
    ExpiresByType application/pdf "access plus 1 month"
    ExpiresByType text/javascript "access plus 1 month"
    ExpiresByType text/x-javascript "access plus 1 month"
    ExpiresByType application/javascript "access plus 1 month"  
    ExpiresByType application/x-javascript "access plus 1 month"
    ExpiresByType application/x-font-woff "access plus 1 month"
    ExpiresByType application/x-shockwave-flash "access plus 1 month"
    ExpiresByType image/x-icon "access plus 1 year"
    ExpiresDefault "access plus 2 days"
    </IfModule>
    voilà en plus je ne comprends pas ce que l'erreur est différente de mes autres 404, exemple:
    -http://www.champagne-arnaud-beaufort-fils.fr/$

    voilà merci de votre aide.
     
  2. spout
    spout WRInaute accro
    Inscrit:
    14 Mai 2003
    Messages:
    8 779
    J'aime reçus:
    240
    Il faut faire les redirections dans le .htaccess du webroot.
    Ou encore mieux dans le beforeFilter du AppController.
     
  3. gotgot
    gotgot WRInaute discret
    Inscrit:
    1 Octobre 2014
    Messages:
    188
    J'aime reçus:
    0
    Bonjour,
    les redirections dans le .htaccess du webroot ne fonctionne pas pour moi.
    J'ai tester une redirection dans le beforeFilter si la requête est index, ça marche bien en local, mais en ligne j'ai toujours l'erreur..
    Merci pour l'aide.
     
  4. gotgot
    gotgot WRInaute discret
    Inscrit:
    1 Octobre 2014
    Messages:
    188
    J'aime reçus:
    0
    Bonjour,
    possibilité qu'un modérateur déplace le sujet dans: URL Rewriting et .htaccess, j'avais pas fait attention en créent le sujet, mais j'aurais surement plus de réponses dans cette partie.
    Merci.
     
  5. gotgot
    gotgot WRInaute discret
    Inscrit:
    1 Octobre 2014
    Messages:
    188
    J'aime reçus:
    0
    désolé de re-poster encore mais un mois après toujours pas de réponse ni de déplacement de sujet(j'ai rien dit après édit, faut re-poster pour que ça le déplace? merci), toujours personne pour une petite idée?
     
  6. spout
    spout WRInaute accro
    Inscrit:
    14 Mai 2003
    Messages:
    8 779
    J'aime reçus:
    240
    C'est pourtant faisable dans le beforeFilter, je l'ai déjà fait avec Cake 1.x, 2.x et 3.x ... et des centaines d'URLs
     
  7. gotgot
    gotgot WRInaute discret
    Inscrit:
    1 Octobre 2014
    Messages:
    188
    J'aime reçus:
    0
    Bonjour
    voici mon code pour lequel ça marche sans souci en local, et qui ne marche pas sur le serveur:
    Code:
    public function beforeFilter(Event $event)
        {
            parent::beforeFilter($event);
            if($_SERVER['REQUEST_URI'] == "/index"){
                $extension = pathinfo($_SERVER['SERVER_NAME'], PATHINFO_EXTENSION);
                if($extension == "fr"){
                    $new_domain = "http://www.***.fr";
                }
                elseif($extension != "fr"){
                    $new_domain = "http://www.***.com";
                }
                $this->redirect($new_domain);
            }
        }
    et le résultat:
    [​IMG]
    voilà je ne comprends pas pourquoi ça ne passe pas? une configuration du serveur? ce qui me fait penser que ça pourrait venir du serveur aussi c'est que j'ai cherché cette erreur partout dans cakephp et impossible de la trouver...
     
  8. spout
    spout WRInaute accro
    Inscrit:
    14 Mai 2003
    Messages:
    8 779
    J'aime reçus:
    240
    C'est une 404 de Apache ça, donc le request n'est même pas pris en compte dans Cake.

    NB:
    PHP:
    <span class="syntaxdefault">$extension </span><span class="syntaxkeyword">=</span><span class="syntaxdefault"> pathinfo</span><span class="syntaxkeyword">(</span><span class="syntaxdefault">$_SERVER</span><span class="syntaxkeyword">[</span><span class="syntaxstring">'SERVER_NAME'</span><span class="syntaxkeyword">],</span><span class="syntaxdefault"> PATHINFO_EXTENSION</span><span class="syntaxkeyword">);&nbsp;</span><span class="syntaxdefault"></span>
    PATHINFO_EXTENSION c'est pour parser l'extension d'un fichier, pas d'un nom d'hôte (même si ça marche).

    NB2: le elseif est un peu une fatalité et pourrait donc être remplacé par un else.
     
  9. gotgot
    gotgot WRInaute discret
    Inscrit:
    1 Octobre 2014
    Messages:
    188
    J'aime reçus:
    0
    Bonjour,

    merci pour la réponse, du coup d'où ça pourrait venir ? car je ne vois pas d'erreur dans le code et il passe bien en local ?

    NB -> merci pour l'information.

    NB2 -> entièrement d'accord :) .
     
  10. gotgot
    gotgot WRInaute discret
    Inscrit:
    1 Octobre 2014
    Messages:
    188
    J'aime reçus:
    0
    Bonjour,
    j'ai finalement trouvé la solution, par contre je ne la comprends pas, si quelqu’un peut m'éclairer?

    j'ai supprimer dans le .htaccess à la racine:
    Code:
    RedirectPermanent /index.php http://www.***.fr
    et rajouter dans l'AppController, dans le before filter:

    Code:
    public function beforeFilter(Event $event)
        {
            parent::beforeFilter($event);
            if($_SERVER['REQUEST_URI'] == "/index" || $_SERVER['REQUEST_URI'] == "/index.php"){
                $extension = pathinfo($_SERVER['SERVER_NAME'], PATHINFO_EXTENSION);
                if($extension == "fr"){
                    $new_domain = "http://www.***.fr";
                }
                else
    {
                    $new_domain = "http://www.***.com";
                }
                $this->redirect($new_domain);
            }
    
    
    
        }
    voilà, en tout cas merci pour l'aide ça m'a mis sur la bonne voie.
     
Chargement...
Similar Threads - Problème erreur redirection Forum Date
Help: Problème de Redirection .htaccess suite erreur noms de pages Netlinking, backlinks, liens et redirections 6 Septembre 2015
Problème redirection page d'erreur du htaccess et htpasswd Administration d'un site Web 13 Mars 2011
1&1 mutualisé : erreur 500 et problème DSA host key Administration d'un site Web 10 Juin 2016
Problème erreur 500 Problèmes de référencement spécifiques à vos sites 5 Avril 2015
Problème indexation suite à des erreurs 404 Crawl et indexation Google, sitemaps 23 Juillet 2014
Erreurs 503 pour googlebot alors que j'y accede sans problème Problèmes de référencement spécifiques à vos sites 14 Janvier 2013
Problème de référencement à cause d'une erreur DNS Problèmes de référencement spécifiques à vos sites 13 Juillet 2012
Problème avec l'url rewriting : erreur 404. URL Rewriting et .htaccess 5 Mai 2011
[RESOLU] Probleme d'erreur 302 non voulue Développement d'un site Web ou d'une appli mobile 30 Mai 2010
Problème erreurs URL verify-NotifyUser-Charte_HUG et otified-NotifyUser-Charte_HUG Problèmes de référencement spécifiques à vos sites 18 Mai 2010
  1. Ce site utilise des cookies. En continuant à utiliser ce site, vous acceptez l'utilisation des cookies.
    Rejeter la notice