Je cherche un moyen d'empêcher le comportement par défaut (lorsque vous avez une page statique définie en tant que page d'accueil du site ou "page d'accueil" (dans settings>reading>front page displays
);
Je veux que la page domain.com/
pointe ici (comme c'est le cas), mais si je faisais une page home
, qui aurait autrement lieu à domain.com/home
, Wordpress redirige automatiquement vers domain.com
, et il n'y a donc aucun moyen de visiter et de rester sur domain.com/home
.
Est-ce que quelqu'un a une idée comment/où faire cela? J'ai essayé d'étudier les variables php $_SERVER
et d'essayer de modifier les règles de réécriture, mais je n'y trouve pas de règle qui corresponde de manière fiable à cette situation. (Il existe une règle pour une page avec la page home
page id
, mais je ne peux pas cibler cette cible de manière fiable (et je pense que c'est en fait le routage domain.com/
-> domain.com/home
.)
Pour réitérer (et peut-être clarifier), comment rendre la 'page de garde' de wordpress disponible à la racine du domaine (par défaut et active), mais également au permalien par défaut de la page ...
La redirection s'effectue grâce à redirect_canonical()
- nous pouvons simplement effectuer une analyse avec un filtre et le désactiver pour la page d'accueil:
function wpse_184163_disable_canonical_front_page( $redirect ) {
if ( is_page() && $front_page = get_option( 'page_on_front' ) ) {
if ( is_page( $front_page ) )
$redirect = false;
}
return $redirect;
}
add_filter( 'redirect_canonical', 'wpse_184163_disable_canonical_front_page' );
Maintenant, vous pouvez accéder à la page d'accueil à la racine et en slug, pas de redirection.
Si je vous ai bien compris, vous avez simplement besoin de votre domain.com/home
pour afficher également votre page d'accueil? Créez simplement ceci dans un dossier appelé home
dans le même dossier que votre /wp-content
etc.
Nommez-le index.php
?php
header("Location: http://domain.com");
exit();
?>