Dies ist probbly, was Sie suchen, wenn Sie ihn für Ihre Nutzung optimieren müssen können:
RewriteEngine On
RewriteCond %{HTTPS} !=on
RewriteRule ^/?(.*) https://%{SERVER_NAME}/$1 [R,L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^/?([^/]+)$ $1.php [L]
Diese zweite Regel kann ohne Änderung in der Hostkonfiguration des echten http-Servers oder in dynamischen Konfigurationsdateien (.htaccess
Style-Dateien) verwendet werden.
Offensichtlich muss das Rewriting-Modul aktiviert werden.
Das letzte Beispiel Sie geben, thanks.php/thank-you
kann nicht auf diese Weise umgesetzt werden, da „Dankes-“ ist nicht gleich „Danke“, aber ich nehme an, dass ein Tippfehler ist. Wenn Sie wirklich, dass die Abbildung benötigen, dann müssen Sie eine spezielle Regel implementieren für nur, dass einzelne URI vor gesetzt, die letzte Regel über:
RewriteRule ^/?thank-you$ thanks.php [L]
Und ein allgemeiner Hinweis: Sie immer auf Platz vorziehen sollte solche Regeln innerhalb der Host-Konfiguration des http-Servers, anstatt dynamische Konfigurationsdateien (".htaccess") zu verwenden. Diese Dateien sind notorisch fehleranfällig, schwer zu debuggen und verlangsamen den Server wirklich. Sie werden nur als letzte Option für Situationen angeboten, in denen Sie keine Kontrolle über die Host-Konfiguration haben (lesen Sie: wirklich günstige Hosting-Service-Provider) oder wenn Sie eine Anwendung haben, die eigene Schreibregeln schreibt (was ein offensichtlicher Sicherheitsalarm ist)).
Danke. Wie könnte ich das auch in umgekehrter Reihenfolge tun, wie zum Beispiel das Schreiben von /privacy.php wird als/privacy umgeschrieben. – John