bonjour a tous
j ai un soucis
lorsque je tape ceci dans google
"quelle plombee utilise pour la peche a la perle"

il me trouve cette page

https://phil.pecheperle.be/index.php/quelle-plombee-pour-la-peche-a-la-perle.php
la page
https://phil.pecheperle.be/quelle-plombee-pour-la-peche-a-la-perle.php
existe bien mais google ne la trouve pas ..
malgre le fait que je l ai mise dans un sitemaps

le repertoire index.php quand a lui n a jamais existé

lorsque je regarde le cache de la page
https://phil.pecheperle.be/index.php/quelle-plombee-pour-la-peche-a-la-perle.php

google m informe de ceci

Ceci est le cache Google de https://phil.pecheperle.be/index.php/quelle-plombee-pour-la-peche-a-la-perle.php. Il s'agit d'un instantané de la page telle qu'elle était affichée le 21 juil. 2021 20:26:01 GMT. La page actuelle peut avoir changé depuis cette date. En savoir plus

quelle explication ?

99 réponses


Mmmmh bizarre bizarre oui :/

Alors déjà depuis le serveur vérifie si il y'a un lien vers index.php qui a été créé dans le virtualhost:

Listen 80
# Bien
<VirtualHost *:80>
    DocumentRoot "/www/path/vers/ton/site"
    ServerName phil.pecheperle.be
</VirtualHost>

# Pas bien, vires le bloc si tu trouves ça
<VirtualHost *:80>
    DocumentRoot "/www/path/vers/ton/site"
    ServerName phil.pecheperle.be/index.php
</VirtualHost>

Si c'est pas ça le problème regardes dans ton .htaccess

Si ce n'est pas ça le problème tu peux tenter de mettre dans ton robots.txt:

# Tu interdit la page /index.php
User-agent: *
Disallow: /index.php

# Tu autorise la page /
User-agent: *
Allow: /

Peut etre aussi en rajoutant un sitemap, normalement Google est capable de s'en passer, mais apparement il a du mal avec ton site donc faudra peut être le faire à l'ancienne ^^'

# Tu interdit la page /index.php
User-agent: *
Disallow: /index.php

# Tu autorise la page /
User-agent: *
Allow: /

# Tu rajoute ton Sitemap
Sitemap: https://phil.pecheperle.be/sitemap.xml

Et pour le contenu de sitemap.xml:

<?xml version="1.0" encoding="UTF-8"?>

<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
   <url>
      <loc>https://phil.pecheperle.be/</loc>
      <lastmod>2021-01-01</lastmod>
   </url>
</urlset> 

Si rien ne fonctionne, dernier recours, tu créées une redirection depui ston .htaccess:

RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule (.*) /index.php/$1 [L]

Google va diriger l'utilisateur vers index.php, ton htacces va rediriger depuis index.php directement vers la base du site

bonjour popotte
vraiment un tout tres grand merci
mais je dois ecrire ou le premier code

Listen 80
# Bien
<VirtualHost *:80>
    DocumentRoot "/www/path/vers/ton/site"
    ServerName phil.pecheperle.be
</VirtualHost>

# Pas bien, vires le bloc si tu trouves ça
<VirtualHost *:80>
    DocumentRoot "/www/path/vers/ton/site"
    ServerName phil.pecheperle.be/index.php
</VirtualHost>

De rien ;)

Alors le premier code, il faut que tu te connectes en SSH dans ton serveur, en gros ton serveur ce n'est ni plus ni moins qu'un PC Linux sans interface graphique (en gros par de bureau, toute l'exploration se fait en console) une fois que tu est entré dans le serveur tu vas dans /etc/apache2/sites-available et dans /etc/apache2/sites-enabled

Et tu checkes la valeur ServerName

(Si tu ne sais pas te connecter au serveur, regardes ça: https://grafikart.fr/tutoriels/ssh-686#autoplay ;))

merci pour l aide et le soutien
je comprends mieux ce que tu m expliques
mais comme je n y connais rien avec ce serveur apache
je vais regarder les videos precedentes et je reviens
Introduction
Machine virtuelle avec Virtualbox
Commandes de bases

Dac, alors Grafikart te montre la machine en local, mais dans ton serveur d'hebergement c'est exactement la même machine ;)
(Enfin sauf si tu à déployé ton site en Cloud chez AWS GCP ou DO :x)

merci pour le suivi
oui de mon cote je vais faire cela direct sur le serveur de hostinger
non je n ai rien deploye du tout
c est juste un simple hebergement
je savais juste que j avais un serveur

j ai juste une question a poser avant le visionage
aurais je besoin egalement de virtualbox

Alors, si tu comptes apprendre à pratiquer en même temps, oui tu en aura besoin, il te faudra aussi un OS Linux (distro Debian10, le top serait de savoir quel distro de Linux utilise ton hebergeur, mais en principe les serveurs utilisent Debian)

en fait non je compte juste regler mon probleme de resptore index.php

ah okay, bon du coup tu as juste a te connecter en ssh et vérifier dans le chemin que je t'ai donné si il y'a un servername avec index.php

Mais sinon tu peux directement tentere de passer en solution 2 et 3, c'est un peu plus bricolage dans le sens ou google n'a plus besoin de ça en principe, mais il detecte quand même la présence de ces fichier donc il va pas faire le difficile :p

merci pour cette aide si precieuse en effet chez hostinger j ai bien un acces ssl
et voici ce que je vois lorsque je clic sur le bouton et que je clic sur gerer
je m excuse de demander tout cela
https://zupimages.net/up/21/33/9611.jpg

Pas de soucis le forum est la pour ça ;)

Aloooors il faut que depuis ton pc tu génère une clé
Donc depuis ton terminal (bach ou cmd, windows terminal a quelques soucis avec ses parametre par défauts donc...)
Tu fais ça:
https://www.scaleway.com/en/docs/configure-new-ssh-key/#-RSA-Key-Pair
quand tu arriveras au cat, ca va te donner une clé qui commence par ssh-rsa et qui finit par ton mail tu copies tout (meme le mail et le début) et tu colles ça dans hostinger, tu enregistres et c'est bon :)

Faut mettre un passphrase, sinon n'importe qui qui chope la clé pourras entrer, donc tu met un mot de passe complexe ;)

merci oui dommage qu il n y a aps beaucoup de personnes comme toi qui prenne le temps de bien expliquer
donc voila j ai ouvert une invite cmd
j ai donc entré ceci dans la fentre cmd
C:\Windows\system32>ssh-keygen -o -b 4096
'ssh-keygen' n'est pas reconnu en tant que commande interne
ou externe, un programme exécutable ou un fichier de commandes.

Ahah mer ci ^^ bon après les personnes les plus actives aident pas mal :p
mmmh, le problème vien de ta console, bon!
utilises ça: https://git-scm.com/downloads ça va fonctionner :p

voila je viens de telecharger et j ai commencer l installation
mais il y a plusieurs options a chaque fenetre
je laisse tout par defaut ?

alors, pour le path du fichier, oui, ta clé se trouveras dans C:/Users/TonNom/.ssh/id_rsa/id_rsa.pub
et tu fera un cat du id_rsa.pub

ensuite quand y'aura passphrase, tu tapes ton mot de passe (y'aura pas de * dans la console, donc te gourres pas x)) ensuite dans commentaire tu peux mettre ton email, c'est ce qui est fait habituellement, et sinon oui tout par défaut ça devrait être bon ;)

franchement super tuto
donc voila je suis arrive a ce stade mais il refuse que je rentre un mot de passe
https://zupimages.net/up/21/33/cca8.jpg

c'est normal, je t'ai dit qu'il n'y aurait pas de * continues de taper ton mot de passe, en vrai il enregistre ce que tu tapes tkt ;) (si tu ne sais plus ou tu en es dans ton mdp, tapes 50 fois sur précédent x'D)

ah ok j avais aps saisi l histoire des *
ok donc voila je viens d appuyer au moins 50 fois sur la fleche vers la gauche pour etre sur d avoir tout enlever
de toute facon je suposse que je peux recommencer en cas d erreur

arf fallait utiliser le boutun effacer au dessus de entrer :p

Bon le mieux c'est que tu fasse ctrl+C et que tu recommences ;)

Et après ce sera bon, ensuite tu iras dans ton dossier user/tonnom/.ssh, et tu fera un cat de id_rsa.pub, et ce sera good :D
Et après il faudra conserver ce fichier attention :o

ah ok merci
bon je viens de trminer le processus
j espere que je me suis pas planter
j avais donc le fameux fichier
id_rsa.pub
mais qui se termine par
w== philippefixe@medionfixe

j ai mis tout cela dans hostinger

et ma cle apparait bien

yep tu copies aussi le mail ;)

tu mets tout dans hostinger et c'est bon :)

il n y a aucun mail et en aucun moment il m a demande de mail il m a juste demande de confirmer le mot de passe

voici juste ce qui apparait dans la console
philippefixe@medionfixe M64 ~
$ ssh-keygen -o -b 4096
Generating public/private rsa key pair.
Enter file in which to save the key (/c/Users/philippefixe/.ssh/id_rsa):
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in /c/Users/philippefixe/.ssh/id_rsa
Your public key has been saved in /c/Users/philippefixe/.ssh/id_rsa.pub
The key fingerprint is:
SHA256:8pfR84/LcWRCM philippefixe@medionfixe
The key's randomart image is:
+---[RSA 4096]----+ .oo. . + o= + o . .

ah tu doit avoir enregistré ton mail dans ton pc, il l'as simplement récupéré x)

alors ça c'est good, maintenant tu fais comme la suite du tuto, tu fait un cat :)

    cat C:/Utilisateurs/TonNom/.ssh/id_rsa.pub

non je n ai pas de mail dans mon pc
puisque ma seule adresse c est hotmail

je viesn de faire le cat dans la console
mais il m indique ceci
$ cat C:/Utilisateurs/philippefixe/.ssh/id_rsa.pub
cat: 'C:/Utilisateurs/philippefixe/.ssh/id_rsa.pub': No such file or directory
pourtant le chemin est bon

ah, c'etait peut etre Users au lieux de Utilisateurs ^^'

non c est bien utilisateurs

mmmh... bon, fais cd ~
ensuite fait cd .ssh
et enfin cat id_rsa.pub

(~ c'est un racourcis pour aller directement sur le dossier du user actif)

voila cette fois ci j ai bien une cle

qui commence apr ssh-rsa
et se termine par DYw== philippefixe@medionfixe

ah okay, windows devait avoir un probleme à un moment dans le chemin, fallait faire le chemin soit même x)

Alooors, tu va copier cette grande clé ssh-rsa ... email@mail.fr (si t'es toujours sur Bach, pour copier c'est ctrl+INSER (le boutton juste au dessus de SUPPR)

vraiment un tout grand merci
c est pas grave si l adresse email n existe pas ??

De rien ^^

pas grave, la clé l'a créée comme ça tempis, ça fait partie de la clé
mais le mail est inutile, il l'affiche juste comme ça :p

Maintenant y'a plus qu'a ajouter la clé sur host, te connecter en ssh, il va te demander ton passphrase (mdp) tu le tapes et c'est good

ah ok
je viens donc de rentrer cette deuxieme cle qui est donc la cle publique il l a bien acceptee
mais a present comment me connecter
car a nouveau il me demande une cle publique

mmmh normalement si tu a fait enregistrer ça devrait etre bon :/
Mmmmh colles la clé quand il demande et fait entrer, peut être faut ajouter a chaque fois, ou alors il te demande le passphrase de la clé?

voici une copie d ecran
apres avoir entre ma cle publique
https://zupimages.net/up/21/33/b1xx.jpg

je viens de la rentrer une deuxieme fois mais rien ne se passe , pourtant il me dit que la cle est bien stockée

ah okay, alors non en fait la tu es dans la page du gestionnaire de clé ssh, il faut passer par la console pour acceder au serveur via ssh x) tu devrait avoir la commande dans cette page

normalement dans ta page il devrait y avoir ssh -p ...

ensuite pour ta première connection il va dire "are you sure to connect or add bla bla bla." tu tapes "yes" et entrer

en fait je ne vois aps trop
voici une copie d ecran
il me propse juste deux liens
Clients SSH recommandés ou
putty ou pinguinet
https://zupimages.net/up/21/33/tfmk.png

c'est la partie "Commande SSH CLI", tu copies ça et tu le colles à ton terminal pis entrer ;)
Ensuite Putty... bon à une époque c'est vrai que les utilisateurs windows devaient l'utiliser, mais bon maintenant windows terminal gère ça, et sinon y'a bash x)

attends car la cela va vite donc je copie le code Commande SSH CLI
et je le colle dans le terminal qui a cree les cles ?

yep :p
Ou dans windows terminal si tu préfère (la console est plus jolie) mais dans bash aussi c'est bon ;)

Ca va te demander le mdp
Et ensuite si tu es sur de je sais plu quoi tu tapes "yes"

cela a echoue

$ ssh -p 6502 u435@18175
The authenticity of host '[185.175]:62 ([185.275]:6502)' can't be established.
ED9 key fingerprint is SHA256:XAA5X0WQk.
This key is not known by any other names
Are you sure you want to continue connecting (yes/no/[fingerprint])?
Host key verification failed.

tu as tapé entrer entre "Are you sure..." et "Host key..."?
Il falait taper "yes" et seulement après taper entrer :/

ah cela semble fonctionner
donc il y a eu un process mis en route il m a demander l autre cle
et pour l instant il y a ceci d afficher
d5orsseKEkbR4F8=
et il attends quelque chose

..... screen? ^^'

voici le screnn
merci pour l aide

https://zupimages.net/up/21/33/cq50.jpg

;)

oola :o okay alors en fait... fallait pas coller ta clé, fallait juste taper le mdp que tu as mis quand tu a créé la clé ^^'
Tu a fait paniquer la console la xD

ah ok je recommence alors mdrrr

j ai donc ceci

$ ssh -p 62 u435@1858.175
Enter passphrase for key '/c/Users/philippefixe/.ssh/id_rsa':
Last failed login: Mon Aug 16 21:09:33 UTC 2021 from ptr-212-45.dyn.mobistar.be on ssh:notty
There were 3 failed login attempts since the last successful login.
/sbin/nologin: No such file or directory
Connection to 185..175 closed.

Mmmmh tu as bien entré le bon passphrase?
Et sinon... bon déjà le server n'a pas de nologin et paf ça pète, mmmh

Bon, faudra peut être passer par Putty, ça doit être une contrainte de leur coté, je connais pas trop je n'ai jamais utilisé Hostinger, je suis chez DO :/

Alors pour la méthode Hostinger j'ai trouvé un tuto:
https://support.hostinger.fr/fr/articles/1646278-comment-puis-je-me-connecter-a-mon-compte-via-ssh

Bon parce que c'est bien de pouvoir entrer dans le serveur pour checker les virtualhost, mais plus tard tu aura besoin de cet acces SSH pour la maintenance du site, les mise à jours etc :/

oui j en suis certain pour le passphrase
ah super pour le tuto de cette facon je vais essayer un immense merci pour toute l aide
je te tiens au courant de la suite

ah oui je vois j ai besoin d un serveur vps qui bien evidement est payant
car aucun n est fourni ...

je en comprends aps bien pourquoi je devrais faire des mises a jour ou une mainenance du site via ssh

Arf si tu es en hebergement mutualisé par contre aucun access possible, parce que tu aurait accès au projets d'autres personnes

Alors pour la maintenance, c'est le un site peut planter, le serveur peut être down, des données peuvent être perdues (par exemple l'incendie du datacenter d'ovh, paf plein de données perdues si y'a pas de backups)
Mais si tu heberges en mutualisé, ça veut dire que ton site n'a pas forcément besoin de maintenance ^^

Bon et du coup si t'as pas acces, tu peux tenter la solu 2 et 3 pour forcer Google à mettre les bons liens :/
Au moins si un jour tu veux ouvrir un site plus conséquent (genre un ecommerce) qui demande un vps et une base de données managée, tu saura regarder dedans :p

bonjour popotte
merci pour la reponse et les explications
en fait je viens de prendre contact avec hostinger et d apres eux je pourrais me connecter au ssh
donc j attends leurs reponses et voir un peu comment je peux passer une certaine etape

concernant eventuellement la solution 2
j ai deja un robtos.txt
dans lequel j ai donne acces a certains fichiers et d autres que je bloque
en ecrivant ceci

User-agent: *
Disallow: /index.php

je bloque donc tous ce qu il y aurait dans le repertoire inexitant index.php ?

je ne comprends pas cette partie
car en pratiquant de la sorte j autorise tout

# Tu autorise la page /
User-agent: *
Allow: /

Ah bonne nouvelle alors :)
T'en a profité pour leur demander si ils avaient pas glissés un index.php? (Ils peuvent rapidement le savoir, c'est eux qui ont montés le serveur x))

Alooors en gros le but c'etait de bloquer index.php, éxistant ou non, Google arrive a trouver un fichier index, donc qu'il éxiste ou non, faut faire savoir a Google qu'il n'y est pas

Ensuite le Allow / c'est au cas ou Google n'avait pas acces au /, donc on peut le rajouter

Et non tu n'autorises pas tout en autorisant la racine, la commande robot n'est pas récursive (ça veut dire ça tape pas dans les sous dossiers) ;)
Aprsè si ça peut te rassurer tu peux toujours mettre le Allow en premier et le disallow en dernier (google lit le ficher en cascade)

oui en effet bonne nouvelle
on continue pour l instant a investiguer car cela ne fonctionne toujours pas
ils ont un tres bon service chez hostinger

J'ai pour l'instant un domaine où était installé wordpress en préférentiel mais que j'ai fini par le désinstaller
Ensuite j'ai mon sous domaine ou mon site est hébergé

Voici le fichier .htaccess de mon sous domaine

Je ne vois pas ce qui pourrait clocher

Encore merci pour cette superbe aide

ErrorDocument 404 /page-404.php

RewriteCond %{QUERY_STRING} ^$
RewriteRule ^index.php$ / [L]

# Block wp-includes folder and files
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^wp-admin/includes/ - [F,L]
RewriteRule !^wp-includes/ - [S=3]
RewriteRule ^wp-includes/.*\.php$ - [F,L]
RewriteRule ^wp-includes/js/tinymce/langs/.+\.php - [F,L]
RewriteRule ^wp-includes/theme-compat/ - [F,L]
</IfModule>

# Désactiver l'affichage du contenu des répertoires
Options All -Indexes

# Masquer les informations du serveur
ServerSignature Off

# Activation du suivi des liens symboliques
Options +FollowSymLinks

# Choix du fuseau horaire
SetEnv TZ Europe/Paris

# Encodage par défaut des fichiers textes et HTML
AddDefaultCharset UTF-8

# Protéger les fichiers .htaccess et .htpasswds
<Files ~ "^.*\.([Hh][Tt][AaPp])">
order allow,deny
deny from all
satisfy all
</Files>

# Désactiver le hotlinking de vos images
#RewriteEngine On
#RewriteCond %{HTTP_REFERER} !^$
#RewriteCond %{HTTP_REFERER} !^http(s)?://(www\.)?https://phil.pecheperle.be [NC]
#RewriteRule \.(jpg|jpeg|png|gif)$ http://fakeimg.pl/400x200/?text=Pas_touche_aux_images [NC,R,L]

# Page de maintenance
#RewriteEngine on
#RewriteCond %{REQUEST_URI} !/maintenance.html$
#RewriteCond %{REMOTE_ADDR} !^xxx\.xxx\.xxx\.xxx
#RewriteRule $ /maintenance.html [R=302,L]

# Mise en cache des fichiers dans le navigateur
<IfModule mod_expires.c>
ExpiresActive On
ExpiresDefault "access plus 1 month"

ExpiresByType text/html "access plus 0 seconds"
ExpiresByType text/xml "access plus 0 seconds"
ExpiresByType application/xml "access plus 0 seconds"
ExpiresByType application/json "access plus 0 seconds"
ExpiresByType application/pdf "access plus 0 seconds"

ExpiresByType application/rss+xml "access plus 1 hour"
ExpiresByType application/atom+xml "access plus 1 hour"

ExpiresByType application/x-font-ttf "access plus 1 month"
ExpiresByType font/opentype "access plus 1 month"
ExpiresByType application/x-font-woff "access plus 1 month"
ExpiresByType application/x-font-woff2 "access plus 1 month"
ExpiresByType image/svg+xml "access plus 1 month"
ExpiresByType application/vnd.ms-fontobject "access plus 1 month"

ExpiresByType image/jpg "access plus 1 month"
ExpiresByType image/jpeg "access plus 1 month"
ExpiresByType image/gif "access plus 1 month"
ExpiresByType image/png "access plus 1 month"

ExpiresByType video/ogg "access plus 1 month"
ExpiresByType audio/ogg "access plus 1 month"
ExpiresByType video/mp4 "access plus 1 month"
ExpiresByType video/webm "access plus 1 month"

ExpiresByType text/css "access plus 6 month"
ExpiresByType application/javascript "access plus 6 month"

ExpiresByType application/x-shockwave-flash "access plus 1 week"
ExpiresByType image/x-icon "access plus 1 week"

</IfModule>

# En-têtes
Header unset ETag
FileETag None

<ifModule mod_headers.c>  
<filesMatch "\.(ico|jpe?g|png|gif|swf)$">  
    Header set Cache-Control "public"  
</filesMatch>  
<filesMatch "\.(css)$">  
    Header set Cache-Control "public"  
</filesMatch>  
<filesMatch "\.(js)$">  
    Header set Cache-Control "private"  
</filesMatch>  
<filesMatch "\.(x?html?|php)$">  
    Header set Cache-Control "private, must-revalidate"
</filesMatch>
</ifModule>

# Compressions des fichiers statiques
<IfModule mod_deflate.c> 
    AddOutputFilterByType DEFLATE text/xhtml text/html text/plain text/xml text/javascript application/x-javascript text/css 
    BrowserMatch ^Mozilla/4 gzip-only-text/html 
    BrowserMatch ^Mozilla/4\.0[678] no-gzip 
    BrowserMatch \bMSIE !no-gzip !gzip-only-text/html 
    SetEnvIfNoCase Request_URI \.(?:gif|jpe?g|png)$ no-gzip dont-vary 
    Header append Vary User-Agent env=!dont-vary 
</IfModule>  

AddOutputFilterByType DEFLATE text/html  
AddOutputFilterByType DEFLATE text/plain  
AddOutputFilterByType DEFLATE text/xml  
AddOutputFilterByType DEFLATE text/css  
AddOutputFilterByType DEFLATE text/javascript
AddOutputFilterByType DEFLATE font/opentype
AddOutputFilterByType DEFLATE application/rss+xml
AddOutputFilterByType DEFLATE application/javascript
AddOutputFilterByType DEFLATE application/json 

# Protection contre les injections de fichiers
RewriteCond %{REQUEST_METHOD} GET
RewriteCond %{QUERY_STRING} [a-zA-Z0-9_]=http:// [OR]
RewriteCond %{QUERY_STRING} [a-zA-Z0-9_]=(\.\.//?)+ [OR]
RewriteCond %{QUERY_STRING} [a-zA-Z0-9_]=/([a-z0-9_.]//?)+ [NC]
RewriteRule .* - [F]

# Protections diverses (XSS, clickjacking et MIME-Type sniffing)
<ifModule mod_headers.c>
Header set X-XSS-Protection "1; mode=block"
Header always append X-Frame-Options SAMEORIGIN
Header set X-Content-Type-Options: "nosniff”
</ifModule>

Header always set Content-Security-Policy: upgrade-insecure-requests

voila la connection avec le serveur fonctionne enfin

Top!!

Alors tu peux vérifier dans /home/ton_nom/www/le_nom_de_ton_site, tu fais un ls et tu regardes si il y'a un index.php

Ensuite tu devrais pouvoir voir dans /etc/apache2/site-available (site avec ou sans s je sais plus) et tu auras une liste de sites
Tu fais nano lenomtetonsite.conf (je crois que c'est un .conf, je sais plu, enfin tu verras au début tu fera un ls pour afficher la liste des sites ^^)
Ensuite tu te retrouves dans le fichier de conf avec les VirtualHost et tout, tu regardes si il y'a un bloc avec "servername tonsite.be/index.php", si oui, tu vires le bloc, si c'est le seul bloc, tu vires seulement le index.php

Alors pour nano

  • Tu ne peux pas utiliser la souris, tout se fait au clavier
  • Pour modifier du texte, tu utilises les touches flechées pour arriver au bon endroit, et tu modifies comme sur windows
  • Pour quitter nano, tu fais ctrl + X
  • Si tu as modifié le fichier, en faisant ctrl + X on te demandera ce qu'il faut faire de tes modifs, alors soit tu enregistres avec deux fois entrer ou ctrl + o, et entrer soit tu fais... je crois que c'est ctrl + n pour annuler les modifications sans enregistrer ^^'

bonjour popotte

merci pour ton aide et on message
alors voici ce que je viens de faire

-bash: /home/u4346002125475/domains/pecheperle.be/public_html/phil/: Is a directory
-bash-4.2$ ls
domains public_html
-bash-4.2$

ah tu as toublié de lancer le cd ^^'

cd /home/u4346002125475/domains/pecheperle.be/public_html/phil/

En gros si tu tapes /home/u4346002125475/domains/pecheperle.be/public_html/phil/
Tu dis au serveur "exécutes la commande /home/u4346002125475/domains/pecheperle.be/public_html/phil/"
Du coup il te réponds "je peux pas c'est un dossier"

la commande cd c'est une commande pour dire au serveur "va la"

att tu es déjà au bon endroit en fait, bon as deux dossier encore, domains et public_html

en fait au lieux de ls, fait ls -la, c'est mieux tu as des détails ^^

mmmh je pense que ton projet se trouve dans public_html, regardes dedans avec un cd public_html puis ls -la ?

Attends popotte
voilà je viens de voir le contenu de mon sous domaine et bien évidement aucun dossier index.php
Si ce n'est que mon fichier index.php qui est ma page d'accueil de mon site

en fait j ai un domaine et un sous domaine et celui qui pose soucis c est le sous domaine

je viens de faire ls -la
c est magique cela me rapelle les commandes dos mdrrr
mais juste un fichier index.php

oh okay :o
Alors si tu n'a pas besoin de ton sous-domaine, tu peux quitter le ssh, aller dans le dashboard du site hostinger directement, tu vas dans domaines et tu supprimes ton sous-domaine

Par contre si tu as besoin de ton sous domaine, tu peux dire a google d'exclure le sous-domaine enmettant simplement ce tag dans ton layout HTML:

<meta name="robots" content="noindex, nofollow">

dans public_html c est pareil que dans
/home/u4346002125475/domains/pecheperle.be/public_html/phil/

ah bah ça doit être le fameux index.php qui a été target par google xD
fais nano index.php si tu veux voir dans le fichier, et confirmer que c'est un fichier qui t'appartien :p

non non
mon sous domaine j en ai besoin c est la que j heberge mon site et dans le domaine je compte mettre wordpress

oui c est bien le fichier d acceuil de mon site

donc il est vital

on sait deja qu il n y a pas de fichier index.php ou de dossier index.php

c' est vraiment fantastique cette aide , grace a toi j apprends comment communiquer avec le serveur

okay alors niveau serveur on a bien vu qu'il y'avait un index.php, par contre c'est un fichier vital donc faudra pas le virer ^^'

Mmmh et a la racine du projet, il y'a un .htaccess , parce que plus haut je t'ai dit qu c'etait un dernier recours, mais si tu possèdes bien un index.php, du coup tu as besoin de ce htaccess pour modifier l'url :/

Ahah merci ouai c'est utile de pouvoir manipuler son propre serveur :p et en même temps comprendre comment notre site est hébergé :p

oui j ai mis un .htaccess dans le domaine et dans le sous domaine

top et dans ton htaccess il y'a bien ce contenu?

RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule (.*) /index.php/$1 [L]

non pas du tout

ni dans le domaine ou le sous domaine

Ah, faut l'ajouter dans le htaces alors :p

dans celui du domaine ou sous domaine ou alors les deux

dans le sous domaine j ai deja ceci

RewriteRule ^index.php$ / [L]

mmmh a remplacer par RewriteRule (.*) /index.php/$1 [L]

merci pour le code et toute ces explications
je viens de le tester
avec cet outil
https://htaccess.madewithlove.be/

mais un index/php a ete ajoute en plus

donc

https://phil.pecheperle.be/index.php/quelle-plombee-pour-la-peche-a-la-perle.php

devient

https://phil.pecheperle.be/index.php/index.php/quelle-plombee-pour-la-peche-a-la-perle.php

Mmmmh, j'ai oublié le index.php (les regex c'est pas mon truc du tout ^^')

RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^index.php(.*)$ $1 [L]

Testé sur ton outil ça le fait

bonjour popotte
merci pour la correction
Misere tu es un magiscien
cela fonctionne avec cet outil
je vais essayer cela de suite
car c est pile ce que je cherchais

que penses tu du reste de mon htaccess

ErrorDocument 404 /page-404.php

RewriteCond %{QUERY_STRING} ^$
RewriteRule ^index.php$ / [L]

# Block wp-includes folder and files
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^wp-admin/includes/ - [F,L]
RewriteRule !^wp-includes/ - [S=3]
RewriteRule ^wp-includes/.*\.php$ - [F,L]
RewriteRule ^wp-includes/js/tinymce/langs/.+\.php - [F,L]
RewriteRule ^wp-includes/theme-compat/ - [F,L]
</IfModule>

# Désactiver l'affichage du contenu des répertoires
Options All -Indexes

# Masquer les informations du serveur
ServerSignature Off

# Activation du suivi des liens symboliques
Options +FollowSymLinks

# Choix du fuseau horaire
SetEnv TZ Europe/Paris

# Encodage par défaut des fichiers textes et HTML
AddDefaultCharset UTF-8

# Protéger les fichiers .htaccess et .htpasswds
<Files ~ "^.*\.([Hh][Tt][AaPp])">
order allow,deny
deny from all
satisfy all
</Files>

# Désactiver le hotlinking de vos images
#RewriteEngine On
#RewriteCond %{HTTP_REFERER} !^$
#RewriteCond %{HTTP_REFERER} !^http(s)?://(www\.)?https://phil.pecheperle.be [NC]
#RewriteRule \.(jpg|jpeg|png|gif)$ http://fakeimg.pl/400x200/?text=Pas_touche_aux_images [NC,R,L]

# Page de maintenance
#RewriteEngine on
#RewriteCond %{REQUEST_URI} !/maintenance.html$
#RewriteCond %{REMOTE_ADDR} !^xxx\.xxx\.xxx\.xxx
#RewriteRule $ /maintenance.html [R=302,L]

# Mise en cache des fichiers dans le navigateur
<IfModule mod_expires.c>
ExpiresActive On
ExpiresDefault "access plus 1 month"

ExpiresByType text/html "access plus 0 seconds"
ExpiresByType text/xml "access plus 0 seconds"
ExpiresByType application/xml "access plus 0 seconds"
ExpiresByType application/json "access plus 0 seconds"
ExpiresByType application/pdf "access plus 0 seconds"

ExpiresByType application/rss+xml "access plus 1 hour"
ExpiresByType application/atom+xml "access plus 1 hour"

ExpiresByType application/x-font-ttf "access plus 1 month"
ExpiresByType font/opentype "access plus 1 month"
ExpiresByType application/x-font-woff "access plus 1 month"
ExpiresByType application/x-font-woff2 "access plus 1 month"
ExpiresByType image/svg+xml "access plus 1 month"
ExpiresByType application/vnd.ms-fontobject "access plus 1 month"

ExpiresByType image/jpg "access plus 1 month"
ExpiresByType image/jpeg "access plus 1 month"
ExpiresByType image/gif "access plus 1 month"
ExpiresByType image/png "access plus 1 month"

ExpiresByType video/ogg "access plus 1 month"
ExpiresByType audio/ogg "access plus 1 month"
ExpiresByType video/mp4 "access plus 1 month"
ExpiresByType video/webm "access plus 1 month"

ExpiresByType text/css "access plus 6 month"
ExpiresByType application/javascript "access plus 6 month"

ExpiresByType application/x-shockwave-flash "access plus 1 week"
ExpiresByType image/x-icon "access plus 1 week"

</IfModule>

# En-têtes
Header unset ETag
FileETag None

<ifModule mod_headers.c>  
<filesMatch "\.(ico|jpe?g|png|gif|swf)$">  
    Header set Cache-Control "public"  
</filesMatch>  
<filesMatch "\.(css)$">  
    Header set Cache-Control "public"  
</filesMatch>  
<filesMatch "\.(js)$">  
    Header set Cache-Control "private"  
</filesMatch>  
<filesMatch "\.(x?html?|php)$">  
    Header set Cache-Control "private, must-revalidate"
</filesMatch>
</ifModule>

# Compressions des fichiers statiques
<IfModule mod_deflate.c> 
    AddOutputFilterByType DEFLATE text/xhtml text/html text/plain text/xml text/javascript application/x-javascript text/css 
    BrowserMatch ^Mozilla/4 gzip-only-text/html 
    BrowserMatch ^Mozilla/4\.0[678] no-gzip 
    BrowserMatch \bMSIE !no-gzip !gzip-only-text/html 
    SetEnvIfNoCase Request_URI \.(?:gif|jpe?g|png)$ no-gzip dont-vary 
    Header append Vary User-Agent env=!dont-vary 
</IfModule>  

AddOutputFilterByType DEFLATE text/html  
AddOutputFilterByType DEFLATE text/plain  
AddOutputFilterByType DEFLATE text/xml  
AddOutputFilterByType DEFLATE text/css  
AddOutputFilterByType DEFLATE text/javascript
AddOutputFilterByType DEFLATE font/opentype
AddOutputFilterByType DEFLATE application/rss+xml
AddOutputFilterByType DEFLATE application/javascript
AddOutputFilterByType DEFLATE application/json 

# Protection contre les injections de fichiers
RewriteCond %{REQUEST_METHOD} GET
RewriteCond %{QUERY_STRING} [a-zA-Z0-9_]=http:// [OR]
RewriteCond %{QUERY_STRING} [a-zA-Z0-9_]=(\.\.//?)+ [OR]
RewriteCond %{QUERY_STRING} [a-zA-Z0-9_]=/([a-z0-9_.]//?)+ [NC]
RewriteRule .* - [F]

# Protections diverses (XSS, clickjacking et MIME-Type sniffing)
<ifModule mod_headers.c>
Header set X-XSS-Protection "1; mode=block"
Header always append X-Frame-Options SAMEORIGIN
Header set X-Content-Type-Options: "nosniff”
</ifModule>

Header always set Content-Security-Policy: upgrade-insecure-requests

ah mince le code ne fonctionne pas sur mon site
c est dommage

oola y'a beaucoup de rules :o

Attends... ton site c'est du wordpress?

Okay alors il y'a un moyen de placer les rules qu'il faut sans avoir besoin de toucher au serveur:

Vas dans ton dashboard wp-admin, dans le menu il y'a settings, puis permalink, tu devrait pouvoir regler ton lien comme ça :)

merci pour ta reponse
non j ai supprime wordpress pour l instant du domaine
j ai indique ces codes car j avais aussi de droles de redirection avec dans les urls des chemins de wordpress alors que mon site n a jamais ete un seul instant en contact avec wordpress

pour l instant mon site est en sous domaine

oh okay, alors ça a l'air ok, et tu peux retirer ces lignes:

# Block wp-includes folder and files
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^wp-admin/includes/ - [F,L]
RewriteRule !^wp-includes/ - [S=3]
RewriteRule ^wp-includes/.*\.php$ - [F,L]
RewriteRule ^wp-includes/js/tinymce/langs/.+\.php - [F,L]
RewriteRule ^wp-includes/theme-compat/ - [F,L]
</IfModule>

Et pour le Rewrite que tu vient de mettre ce serait mieux de mettre tout en bas ^^

merci pour la reponse
je viens d essayer en ajouant ton code mais dans url rien n a changer
lorsque j apelle cette page
https://phil.pecheperle.be/index.php/quelle-plombee-pour-la-peche-a-la-perle.php

rien ne se produit ...

Mmmmh essayes en local
si en local ça fonctionne c'est juste quue le serveur n'a pas pris en compte tes changements, il faudra retourner sur le serveur et (arf par contre la commande c'est du sudo, tu as les acces sudo sur la machine? :/) tu fais cette commande: sudo service apache2 restart
Bizarre qu'il ignore les règles htaccess :/

merci pour l aide
je viens d essayer ceci
RedirectPermanent /index.php/quelle-plombee-pour-la-peche-a-la-perle.php https://phil.pecheperle.be/quelle-plombee-pour-la-peche-a-la-perle.php
et cela fonctionne a merveille
donc c est que le serveur accepte les regles du fichier htaccess

je pense avoir compris le pourquoi du comment de ces liens index.php

au tout début de mon site (pour rappel je n ai que deux concurrents sur cette thématique de pêche a la perle
et donc d office j ai été propulsé par google dans les premières pages )

mais a ce moment on avait acces a mon site via cette adresse

https://phil.pecheperle.be/index.php
depuis lors cela a change et c est devenu https://phil.pecheperle.be suite a une manipulation dans le htaccess

et effectivement dans mes pages ce sont tous des liens relatif
donc Google a référencé mon site en index.php
et donc a tout simplement ajouter apres index.php mon lien relatif et cela a foutu le bazar

je vais donc mettre tous les liens de mon site en absolu

oh je vois, bizarre que Google n'ai pas corrigé ce truc :/

mais il ne serait pas le corriger de suite car pour lui cela semble tout a fait logique et fait ce que je lui demande
comme mon site etait sous index.php
et que mes liens etait en relatif il a juste ajouter les liens relatif a al suite de index.php
et cela semble exact
puisque mes liens en relatif commence par /