Page 1 sur 1

.htaccess qui redirige vers une page spécifique (accueil)

Posté : 30 déc. 2013, 17:58
par caema
Bonjour à tous,

Je souhaite faire une redirection sur mon site, afin que lorsque le visiteur arrive sur le site, il arrive directement sur la page d'accueil.
Je travaille en local, et ma gestion des pages se fait grâce à la page index.php, dont l'URL est http://localhost/PERSO/mon_dossier/
Je souhaite donc que la redirection se fasse vers http://localhost/PERSO/mon_dossier/accueil

Actuellement, j'ai un .htaccess à la racine de mon site qui contient le code suivant:

Code : Tout sélectionner

RewriteEngine on RewriteRule ^([a-z0-9\-]+)$ ?slug=$1
Ce code permet juste de réécrire les url proprement.

Quelqu'un peut-il m'aider?
D'avance merci!

Re: .htaccess qui redirige vers une page spécifique (accueil

Posté : 31 déc. 2013, 00:16
par alain56_
As tu essayé ce code dans ta page index.php ? Ou bien directement le html dans une page index.html ?

echo "<html><head><meta http-equiv=\"refresh\" content=\"0; url=http://localhost/PERSO/mon_dossier/accu ... ody></html>"

Re: .htaccess qui redirige vers une page spécifique (accueil

Posté : 31 déc. 2013, 19:39
par caema
Bonsoir,

Je viens d'essayer avec ce code, et ça ne fonctionne pas...
Mais merci pour votre intervention ;-)

Je vous avoue que j'ai du mal à solutionner cela, je ne sais pas trop comment rechercher ce que je souhaite

Re: .htaccess qui redirige vers une page spécifique (accueil

Posté : 01 janv. 2014, 09:37
par alain56_
Curieux !
Je viens de créer sur mon serveur chez OVH ce petit programme PHP que j'ai appelé "test.php"

<?php
echo "<html><head><meta http-equiv=\"refresh\" content=\"0; url=php-debutant/htaccess-qui-redirige-vers ... ody></html>"
?>

qui me redirige bien vers ton post ! vérifies en exécutant mon URL !
http://start5g.ovh.net/~famillevy/test.php

quand tu dis qu'il ne fonctionne pas chez toi, as tu un message d'erreur ?

Re: .htaccess qui redirige vers une page spécifique (accueil

Posté : 01 janv. 2014, 15:17
par caema
Quand je dis que cela ne fonctionne pas, c'est juste que lorsque je me rends à la racine de mon projet (http://localhost/PERSO/mon_dossier/), je ne suis pas redirigée vers http://localhost/PERSO/mon_dossier/accueil comme je le souhaite.
Mais je n'ai pas de message d'erreur.

Pour info, voici ce que contient mon index.php:
<?php
$auth = 0;
include 'lib/includes.php';
include 'lib/image.php';

/**
* GESTION des PAGES 
**/
$slug = $db->quote($_GET['slug']);
$select = $db->query("SELECT * FROM posts WHERE slug = $slug AND type='page'");


$page = $select->fetch();
$page_id = $page['id'];
$title = $page['name'];

/**
* GESTION des NEWS 
**/
$posts = $db->query("
        SELECT * 
        FROM posts 
        WHERE type='post'
")->fetchAll();


include 'partials/header.php';
?>

<div class="col-md-8">
    <!-- POUR LES PAGES -->
    <article id="main" class="row featurette">
        <h3><?= $page['name']; ?></h3>
        <div class="col-md-7">
            <p><?= $page['content']; ?></p>
        </div>
    </article>
Dans ce fichier, j'inclus entre autres le fichiers constants.php, je me permets de vous mettre également le contenu de ce fichier car il pourrait peut être avoir son importante:
constants.php:
<?php
define('WWW_ROOT', dirname(dirname(__FILE__)));

$directory = basename(WWW_ROOT);
$url = explode($directory, $_SERVER['REQUEST_URI']);

// si je suis à la racine
if(count($url) == 1){
    define('WEBROOT', '/');
}else{
    define('WEBROOT', $url[0] . $directory.'/');
}

define('IMAGES', WWW_ROOT . DIRECTORY_SEPARATOR . 'img');
Dois-je activer un module/extension spécifique dans WAMP?

Je ne sais pas, simple question...


En tout cas merci pour votre aide ;-) Et bonne année!

Re: .htaccess qui redirige vers une page spécifique (accueil

Posté : 02 janv. 2014, 09:15
par alain56_
Effectivement, la balise meta url ne fonctionne que s'il n'y a pas eu d'autres balises html qui précèdent !
Mais peut être pourrais tu regarder vers les fonctions php ob_start() ob_flush() qui permettraient de placer la balise meta url à n'importe quel endroit du script ! cf http://php.net/manual/fr/function.ob-start.php
Je ne suis pas un spécialiste de php... mais pourquoi ne structures tu pas autrement tes programmes, en ne plaçant sur ta racine, qu'une page de redirection vers ta page d'accueil sans rien d'autre, puis mettre en début de ta page d'accueil ton code d'initialisation ?