Bonjour à tous,

Voilà je rencontre un petit problème avec mon fichier .htaccess.

Ce que j'ai déjà fait

Mon fichier .htaccess

# Pour réécrire les noms des pages
Options +FollowSymlinks +MultiViews
RewriteEngine on 
RewriteCond %{REQUEST_FILENAME}.php -f

# Permet d'enlever le .php
RewriteRule ^(.*)$ $1.php 
RewriteRule ^domaine.com$ index.php 
RewriteRule ^inscription$ register
RewriteRule ^article/([0-9]+)$ article?num=$1 [L,R=301]

# Forcer le www
RewriteEngine On
RewriteCond %{HTTP_HOST} !^www\. [NC]
RewriteRule ^(.*)$ http://www.%{HTTP_HOST}/$1 [R=301,L]

 # Activer HTTPS
 RewriteEngine On
 RewriteCond %{HTTPS} off
 RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI} [R,L]

Ce que j'ai

1) Ne plus accéder aux pages lorsque je tape dans l'url le nom de la page d'origine.

Exemple :

  • domaine.com/inscription => Accessible
  • domaine.com/register => Accessible
  • domaine.com/register.php => Accessible

2) Mon domaine est de la forme https://www.domaine.com/.
Lorsque je suis sur une url de ce type :

et que je supprime le s de https ou le www, j'obtiens :

Ce que j'aimerai

1) Obtenir les résultats suivants pour le SEO :

  • domaine.com/inscription => Accessible
  • domaine.com/register => Non accessible
  • domaine.com/register.php => Non accessible

2) Obtenir que les URLs ci-dessous :

Merci d'avance de vos réponses ! :)

1 réponse


Bonjour à tous,

J'ai réussi à corriger le problème avec le https et le www mon fichier .htaccess et fait une redirection pour ne plus accéder aux fichiers .php

Ex : file.php me donnera file

Ce que j'ai refait

Mon fichier .htaccess

# Pour réécrire les noms des pages
Options +FollowSymlinks -MultiViews
RewriteEngine on
RewriteBase /

# Redirection non-www vers www:
RewriteCond %{HTTP_HOST} !^www\. [NC]
RewriteRule ^(.*)$ http://www.%{HTTP_HOST}/$1 [R=301,L]

# Redirection de http vers https:
RewriteCond %{HTTPS} off
RewriteRule (.*) https://%{HTTP_HOST}/$1 [R=301,L]

# Sauf répertoire, supprimez la barre oblique
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^([^/]+)/$ http://%{HTTP_HOST}/$1 [R=301,L]

# Rediriger les pages .php vers une URL sans extension
RewriteCond %{THE_REQUEST} ^(.+)\.php([#?][^\ ]*)?\ HTTP/
RewriteRule ^(.+)\.php$ http://%{HTTP_HOST}/$1 [R=301,L]

# Ajouter une extension si le fichier php existe
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME}\.php -f
RewriteRule ^(.*)$ $1.php [L]

# Réécriture des pages
RewriteRule ^inscription$ register
RewriteRule ^article/([0-9]+)$ article?num=$1 
... [L,R=301]

Ce que j'ai

  • domaine.com/inscription => Accessible
  • domaine.com/register => Accessible
  • domaine.com/register.php => Pas accessible

Ce que j'aimerai

  • domaine.com/inscription => Accessible
  • domaine.com/register => Pas accessible redirige vers domaine.com/inscription (si possible)
  • domaine.com/register.php => Pas accessible

Merci d'avance de vos réponses ! :)