suchen

Heim  >  Fragen und Antworten  >  Hauptteil

Durch die Kombination der HTTPS-Umleitung mit Rewrite-Regeln kann die Erweiterung .php nicht hinzugefügt werden

Ich hoffe, jemand kann helfen. Ich möchte die Dateierweiterung (.php) aus internen Links entfernen, muss sie aber natürlich zuerst in htaccess konfigurieren.

Ich glaube, der richtige Code ist

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

Aber wenn ich diesen Code unter/über dem bereits vorhandenen Code hinzufüge (https erzwingen)

, passiert nichts, d. h. ich muss immer noch die .php in die URL eingeben.

Nach dem Hinzufügen des obigen Codes sieht die htaccess-Datei folgendermaßen aus:

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

Irgendwelche Ideen, warum das nicht funktioniert?

Danke

Ich habe online gesucht, aber in allen Beiträgen steht, dass man einfach den Rewrite-Code zu htaccess hinzufügen soll, leider funktioniert das nicht.

Ich glaube nicht, dass dieser Code gut mit dem vorhandenen Code zusammenspielt, der https erzwingt? 🎜
P粉098417223P粉098417223236 Tage vor433

Antworte allen(1)Ich werde antworten

  • P粉194919082

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

    我认为 RewriteRule 太复杂了。我对我的所有网站使用以下内容:

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

    Antwort
    0
  • StornierenAntwort