Maison  >  Questions et réponses  >  le corps du texte

La combinaison de la redirection HTTPS avec des règles de réécriture ne peut pas ajouter l'extension .php

J'espère que quelqu'un pourra vous aider. Je souhaite supprimer l'extension de fichier (.php) des liens internes, mais bien sûr, je dois d'abord la configurer dans htaccess.

Je crois que le bon code est

RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^([^\.]+)$ .php [NC,L]

Mais quand j'ajoute ce code en dessous/au dessus du code préexistant (forçant https)

, rien ne se passe, c'est à dire que je dois quand même saisir le .php dans l'url.

Après avoir ajouté le code ci-dessus, le fichier htaccess ressemble à ceci :

RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^([^\.]+)$ .php [NC,L]
RewriteCond %{SERVER_PORT} !=443
RewriteRule ^(.*)$ https://mysite/ [R=301,L]

Une idée pour laquelle cela ne fonctionne pas ?

Merci

J'ai fait des recherches en ligne mais tous les messages disent d'ajouter simplement le code de réécriture à htaccess, malheureusement cela ne fonctionne pas.

Je ne pense pas que ce code fonctionne bien avec le code existant qui force https ? 🎜
P粉098417223P粉098417223171 Il y a quelques jours278

répondre à tous(1)je répondrai

  • P粉194919082

    P粉1949190822024-04-05 12:23:24

    Je pense que RewriteRule est trop complexe. J'utilise les éléments suivants pour tous mes sites Web :

    # append .php
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteCond %{REQUEST_FILENAME}.php -f
    RewriteRule .* rrreee.php [L]
    
    # fallback to index.php
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteRule .* index.php [L]

    répondre
    0
  • Annulerrépondre