NOUVELLE MODIFICATION 28/oct/19 → J'ai édité le fichier .htaccess comme vous l'avez dit
AddHandler x-mapp-php5.5 .php
# HTTP to HTTPS redirect
RewriteCond %{SERVER_PORT} 80
RewriteRule (.*) https://www.bebechan.net/$1 [R=301,L]
# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>
# END WordPress
J'ai également ajouté les lignes dans wp.config:
/**
* WordPress Database Table prefix.
*
* You can have multiple installations in one database if you give each
* a unique prefix. Only numbers, letters, and underscores please!
*/
$table_prefix = 'mIQnU';
define('ALLOW_UNFILTERED_UPLOADS', true);
define('FORCE_SSL', true);
define('FORCE_SSL_ADMIN',true);
/* That's all, stop editing! Happy publishing. */
J'ai vérifié les paramètres wp et mes adresses sont bien écrites ( https://bebechan.net ). J'ai même téléchargé un plugin pour rediriger chaque http: /bebechan.net/ebook vers https://bebechan.net/ebook .
TOUJOURS PAS FONCTIONNANT malheureusement: (. Chaque fois que je vais sur bebechan.net/ebook, ce n'est pas https mais http.
Quelque chose que je veux souligner, c'est que, même lorsque je vais directement sur le https://bebechan.net/ebook , je peux accéder à la page 'acheter', MAIS, le petit verrou vert ne fonctionne pas apparaît, j'ai vérifié le site Web `` Pourquoi pas de cadenas '' ( https://www.whynopadlock.com/results/cf25cdd8-0cde-4cfb-bfc6-1dc0ac4e2e12 ) et il est écrit que `` Vous avez actuellement TLSv1 activée'. Cela pourrait-il faire partie du problème? Dois-je le réparer?
BIG EDIT: L'hôte qui s'occupe de mon SSL vient de me dire '' Le SSL que nous fournissons avec votre contrat ne protège qu'un seul domaine OR un sous-domaine, pas les deux ''. Ils leur ont dit alors c'est pourquoi bebechan.net/ebook n'était pas protégé mais bebechan.net l'était. Mais, bebechan.net/ebook n'est pas un droit de sous-domaine? Il fait toujours partie de mon domaine bebechan.net? Ou je me trompe totalement? Un peu perdu ici.
J'ai vu des questions similaires, mais elles n'ont pas résolu mon problème.
J'ai un SSL actif sur mon WordPress (hébergé par IONOS 1and1). Si j'entre mon example.com
il va à HTTPS. Si j'entre example.com/smth
il va à HTTP (sans s), si j'entre www.example.com/smth
si passe à HTTPS!
Mon souhait est donc de forcer HTTPS sur example.com/smth
. J'ai créé un .htaccess
fichier via Filezilla en entrant tout le code que j'ai pu trouver par exemple:
RewriteEngine On
RewriteCond %{HTTPS} !=on
RewriteRule ^(.*)$ https://%{HTTP_Host}%{REQUEST_URI} [L,R=301,NE]
ou
RewriteEngine On
RewriteCond %{SERVER_PORT} 80
RewriteRule ^(.*)$ https://www.example.com/$1 [R=301,L,NE]
Je l'ai essayé avec l'ajout wordpress:
RewriteEngine On
RewriteCond %{HTTPS} !=on
RewriteRule ^(.*)$ https://%{HTTP_Host}%{REQUEST_URI} [L,R=301,NE]
# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>
# END WordPress
Mais rien ne semble rediriger! (La page est bebechan.net/ebook
). J'ai peut-être fait quelque chose de mal en créant le .htacces
ou quelque chose?
EDIT: En fait, je viens de vérifier en ce moment et il est écrit que le SSL est fourni pour clickandbuild/bebechan
et j'ai en effet un dossier clickandbuild
lorsque je vérifie mon FTP (voir capture d'écran ci-dessous) et il y a déjà un .htaccess
Là. C'est peut-être le problème? Peut-être que je devrais éditer celui-ci au lieu d'en créer un nouveau à la racine?
En fait, il existe déjà un .htaccess
dans le dossier .../clickandbuild/bebechan
qui pourrait être là où se trouve mon SSL. Il semble qu'il y ait déjà un https forcé écrit ici. Ne fonctionne toujours pas. Je suis super perdu haha.
Contenu du .htaccess
:
<IfModule mod_deflate.c>
AddOutputFilterByType DEFLATE text/plain
AddOutputFilterByType DEFLATE text/html
AddOutputFilterByType DEFLATE text/xml
AddOutputFilterByType DEFLATE text/css
AddOutputFilterByType DEFLATE text/cache-manifest
AddOutputFilterByType DEFLATE text/javascript
AddOutputFilterByType DEFLATE text/vcard
AddOutputFilterByType DEFLATE text/vnd.rim.location.xloc
AddOutputFilterByType DEFLATE text/vtt
AddOutputFilterByType DEFLATE text/x-component
AddOutputFilterByType DEFLATE text/x-cross-domain-policy
AddOutputFilterByType DEFLATE application/xml
AddOutputFilterByType DEFLATE application/xhtml+xml
AddOutputFilterByType DEFLATE application/rss+xml
AddOutputFilterByType DEFLATE application/javascript
AddOutputFilterByType DEFLATE application/x-javascript
AddOutputFilterByType DEFLATE application/json
AddOutputFilterByType DEFLATE application/ld+json
AddOutputFilterByType DEFLATE application/atom+xml
AddOutputFilterByType DEFLATE application/manifest+json
AddOutputFilterByType DEFLATE application/rdf+xml
AddOutputFilterByType DEFLATE application/rss+xml
AddOutputFilterByType DEFLATE application/schema+json
AddOutputFilterByType DEFLATE application/vnd.geo+json
AddOutputFilterByType DEFLATE application/vnd.ms-fontobject
AddOutputFilterByType DEFLATE application/x-font-ttf
AddOutputFilterByType DEFLATE application/x-javascript
AddOutputFilterByType DEFLATE application/x-web-app-manifest+json
AddOutputFilterByType DEFLATE application/xhtml+xml
AddOutputFilterByType DEFLATE font/eot
AddOutputFilterByType DEFLATE font/opentype
AddOutputFilterByType DEFLATE image/bmp
AddOutputFilterByType DEFLATE image/svg+xml
AddOutputFilterByType DEFLATE image/vnd.Microsoft.icon
AddOutputFilterByType DEFLATE image/x-icon
</IfModule>
<IfModule mod_expires.c>
ExpiresActive On
ExpiresByType text/css A2419200
ExpiresByType text/x-component A2419200
ExpiresByType application/x-javascript A2419200
ExpiresByType application/javascript A2419200
ExpiresByType text/javascript A2419200
ExpiresByType text/x-js A2419200
ExpiresByType text/html A3600
ExpiresByType text/richtext A3600
ExpiresByType image/svg+xml A3600
ExpiresByType text/plain A3600
ExpiresByType text/xsd A3600
ExpiresByType text/xsl A3600
ExpiresByType text/xml A3600
ExpiresByType video/asf A2419200
ExpiresByType video/avi A2419200
ExpiresByType image/bmp A2419200
ExpiresByType application/Java A2419200
ExpiresByType video/divx A2419200
ExpiresByType application/msword A2419200
ExpiresByType application/vnd.ms-fontobject A2419200
ExpiresByType application/x-msdownload A2419200
ExpiresByType image/gif A2419200
ExpiresByType application/x-gzip A2419200
ExpiresByType image/x-icon A2419200
ExpiresByType image/jpeg A2419200
ExpiresByType application/json A2419200
ExpiresByType application/vnd.ms-access A2419200
ExpiresByType audio/midi A2419200
ExpiresByType video/quicktime A2419200
ExpiresByType audio/mpeg A2419200
ExpiresByType video/mp4 A2419200
ExpiresByType video/mpeg A2419200
ExpiresByType application/vnd.ms-project A2419200
ExpiresByType application/x-font-otf A2419200
ExpiresByType application/vnd.ms-opentype A2419200
ExpiresByType application/vnd.oasis.opendocument.database A2419200
ExpiresByType application/vnd.oasis.opendocument.chart A2419200
ExpiresByType application/vnd.oasis.opendocument.formula A2419200
ExpiresByType application/vnd.oasis.opendocument.graphics A2419200
ExpiresByType application/vnd.oasis.opendocument.presentation A2419200
ExpiresByType application/vnd.oasis.opendocument.spreadsheet A2419200
ExpiresByType application/vnd.oasis.opendocument.text A2419200
ExpiresByType audio/ogg A2419200
ExpiresByType application/pdf A2419200
ExpiresByType image/png A2419200
ExpiresByType application/vnd.ms-PowerPoint A2419200
ExpiresByType audio/x-realaudio A2419200
ExpiresByType image/svg+xml A2419200
ExpiresByType application/x-shockwave-flash A2419200
ExpiresByType application/x-tar A2419200
ExpiresByType image/tiff A2419200
ExpiresByType application/x-font-ttf A2419200
ExpiresByType application/vnd.ms-opentype A2419200
ExpiresByType audio/wav A2419200
ExpiresByType audio/wma A2419200
ExpiresByType application/vnd.ms-write A2419200
ExpiresByType application/font-woff A2419200
ExpiresByType application/vnd.ms-Excel A2419200
ExpiresByType application/Zip A2419200
</IfModule>
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>
AddHandler x-mapp-php5.5 .php
# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>
# END WordPress
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteCond %{SERVER_PORT} 80
RewriteRule ^(.*)$ https://www.bebechan.net/$1 [R,L]
</IfModule>
tl; dr Votre redirection HTTP vers HTTPS est au mauvais endroit. Il doit aller près du début du fichier /clickandbuild/bebechan/.htaccess
, Pas à la fin. (Voir ci-dessous pour plus d'explications.)
Il semble y avoir beaucoup de désinformation/confusion ici ...
L'hôte qui s'occupe de mon SSL vient de me dire "Le SSL que nous fournissons avec votre contrat ne protège qu'un seul domaine OR un sous-domaine, pas les deux"
Cela devrait OK, vous ne semblez avoir qu'un seul domaine. Cependant, votre certificat SSL doit couvrir à la fois l'apex du domaine (c.-à-d. example.com
) Et le sous-domaine www (c.-à-d. www.example.com
) - il devrait le faire - je serais très surpris s'il ne le faisait pas 't. Et par ce que vous avez dit au début de la question; Cela fait.
Ils leur ont alors dit que c'est pourquoi
bebechan.net/ebook
N'était pas protégé mais quebebechan.net
L'était.
C'est absurde. Le certificat de sécurité (certificat SSL) protège les noms d'hôtes, pas les sous-répertoires. Si example.com
Est protégé, example.com/ebook
Est également protégé, tout comme example.com/<anything>
.
Mais,
bebechan.net/ebook
N'est pas un droit de sous-domaine? Il fait toujours partie de mon domainebebechan.net
?
Exactement.
Je viens de vérifier en ce moment et il est écrit que le SSL est fourni pour 'clickandbuild/bebechan' et j'ai en effet un dossier clickandbuild quand je vérifie mon FTP ... et il y a déjà un
.htaccess
Là. C'est peut-être le problème? Peut-être que je devrais éditer celui-ci au lieu d'en créer un nouveau à la racine?
Il est possible que la racine du document soit définie dans le répertoire /clickandbuild/bebechan
, Mais comme indiqué ci-dessus, les certificats SSL couvrent les noms d'hôtes, pas les sous-répertoires.
Pour le reste de cette réponse, je suppose que /clickandbuild/bebechan
Est en fait le répertoire racine du document. c'est à dire. le répertoire qui est servi lorsque vous demandez http://example.com/
(HTTP et HTTPS).
Votre capture d'écran FTP est confuse/ambiguë. S'il y a un fichier .htaccess
Dans le sous-répertoire /clickandbuild/bebechan
, C'est probablement là que WordPress est installé? Cependant, votre capture d'écran semble montrer un .htaccess
fichier et WordPress installation dans le répertoire racine ?! Je suppose que c'est au-dessus de la racine du document? Alors, à quoi se rapportent ces fichiers?
... il y a déjà un
.htaccess
là-bas. C'est peut-être le problème? Peut-être que je devrais éditer celui-ci au lieu d'en créer un nouveau à la racine?
Cela pourrait très bien être le problème. Vous ne devriez pas avoir besoin de créer manuellement le fichier .htaccess
. WordPress créera (et utilisera) un par défaut - il est nécessaire de piloter les WordPress "jolis" permaliens, que vous semblez déjà utiliser).
Alors oui, éditez le fichier .htaccess
Existant. Ne créez pas d'autre fichier .htaccess
Ailleurs.
Si vous créez un fichier .htaccess
Dans un répertoire parent (par exemple, dans le répertoire racine de votre capture d'écran FTP - qui, je suppose, est l'endroit où vous créez ce fichier .htaccess
?) Avec une redirection mod_rewrite ( qui est ce que c'est) alors il sera probablement remplacé par les directives mod_rewrite dans le fichier des sous-répertoires .htaccess
et simplement ignoré (ce qui semble être ce qui se passe).
La fin de votre fichier /clickandbuild/bebechan/.htaccess
Existant se lit ...
: <IfModule mod_rewrite.c> RewriteEngine On RewriteBase / RewriteRule ^index\.php$ - [L] RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule . /index.php [L] </IfModule> AddHandler x-mapp-php5.5 .php # BEGIN WordPress <IfModule mod_rewrite.c> RewriteEngine On RewriteBase / RewriteRule ^index\.php$ - [L] RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule . /index.php [L] </IfModule> # END WordPress <IfModule mod_rewrite.c> RewriteEngine On RewriteCond %{SERVER_PORT} 80 RewriteRule ^(.*)$ https://www.bebechan.net/$1 [R,L] </IfModule>
Le principal problème ici est que la redirection HTTP vers HTTPS est au mauvais endroit! Il ne devrait pas se trouver à la fin du fichier de configuration comme celui-ci. Il doit aller près du haut du fichier .htaccess
- surtout, il doit aller avant le WordPress contrôleur frontal (c'est-à-dire le bloc de code dans les marqueurs de commentaire # BEGIN WordPress
... # END WordPress
qui le précède actuellement).
En plaçant la redirection à la fin, telle qu'elle apparaît ici, elle ne fera pas "grand-chose". Il redirigera example.com/
(La racine du document), mais pas example.com/smth
- qui est le comportement que vous avez indiqué initialement dans votre question. Cependant, vous avez également déclaré que www.example.com/smth
IS redirigé - ce comportement ne peut pas être expliqué par cela.
Dans le fichier .htaccess
Ci-dessus, le contrôleur frontal WordPress est également répété inutilement - deux blocs de code sont identiques - c'est une erreur.
La fin de ce fichier .htaccess
Doit se lire comme suit à la place:
: AddHandler x-mapp-php5.5 .php # HTTP to HTTPS redirect RewriteCond %{SERVER_PORT} 80 RewriteRule (.*) https://www.bebechan.net/$1 [R=301,L] # BEGIN WordPress <IfModule mod_rewrite.c> RewriteEngine On RewriteBase / RewriteRule ^index\.php$ - [L] RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule . /index.php [L] </IfModule> # END WordPress
À propos de wordpress, je ne sais pas comment il est installé et je n'ai pas configuré wordpress pour faire quoi que ce soit. Peut-être que je devrais?
Oui tu devrais. Soit en utilisant un plugin, soit manuellement ... vous devez vous assurer que "l'adresse WordPress (URL)" et "l'adresse du site (URL)" sont correctement définies (c'est-à-dire probablement sur https://www.example.com/
). Vous devrez peut-être également définir define('FORCE_SSL_ADMIN', true);
dans le fichier wp-config.php
. Il y a plus d'informations sur la configuration de WordPress ailleurs.
Vous ne voulez pas que vos redirections .htaccess
Entrent en conflit avec ce que WordPress pense que votre URL canonique devrait être.
Le code suivant redirige tout vers https://www....
. Assurez-vous que vous n'utilisez aucun autre plug-in ou configuration Wordpress qui pourrait générer un conflit avec celui-ci.
RewriteEngine On
RewriteCond %{HTTPS} off
RewriteRule .* https://%{HTTP_Host}%{REQUEST_URI} [L,R=301]
RewriteCond %{HTTP_Host} !^www\. [NC]
RewriteRule .* https://www.%{HTTP_Host}%{REQUEST_URI} [L,R=301]
Vous devez activer l'option AllowOverride All pour utiliser le fichier . Htaccess . En outre, vous pouvez ajouter les règles de réécriture dans le répertoire dans le fichier conf comme dans l'exemple ci-dessous ou dans votre fichier .htaccess.
<Directory "/srv/www/htdocs">
Options -Indexes +FollowSymLinks
AllowOverride All
RewriteEngine on
RewriteCond %{SERVER_NAME} =example.com [OR]
RewriteCond %{SERVER_NAME} =www.example.com
RewriteRule ^https://%{SERVER_NAME}%{REQUEST_URI} [END,NE,R=permanent]
Require all granted
</Directory>
J'ai changé mon répertoire dans le fichier Conf en seulement:
<Directory "/srv/www/htdocs">
AllowOverride All
Require all granted
</Directory>
Et inséré dans . Htaccess uniquement ce qui suit:
RewriteEngine on
RewriteCond %{SERVER_NAME} =www.example.com
RewriteRule ^https://www.example.com%{REQUEST_URI} [END,NE,R=permanent]
Donc, si cela ne fonctionne pas, contactez votre hôte pour ajouter AllowOverride All uniquement.