Ich versuche, eine extensionless Server-Anfrage in die entsprechende PHP-Datei umzuschreiben. Bisher habe ich es geschafft, aber ich würde PHP vor html neu schreiben, also wenn ich Dateien mit dem gleichen Dateinamen habe, versucht es zuerst die php-Version der Datei zu finden und nur wenn es nicht funktioniert. t als PHP existieren, versuchen Sie es als HTML zu finden. Ich weiß nicht, ob das Sinn macht oder nicht, ich habe mich nur gefragt, ob es möglich wäre, die PHP-Version einer Datei vor die HTML-Datei zu bekommen. Mein Code sieht so aus, aber wenn ich die Position @extensionless-php
innerhalb der try_files
Zeile ändere, führt dies entweder zu einem 404
oder einem 500
Fehler. Mein Code sieht so aus:Rewrite PHP-Erweiterung vor html on Nginx
root path/to/root;
index index.php index.html;
try_files $uri $uri.html $uri/ @extensionless-php;
location ~ \.php$ {
try_files $uri =404;
# cgi-params
}
location @extensionless-php {
rewrite ^(.*)$ $1.php last;
}
Wenn jemand einen Weg weiß, um das zu erreichen, oder weitere Informationen dazu hat, lassen Sie es mich wissen.
Nicht sicher, ob die Frage sinnvoll ist. Sie sprechen über ausdehnungsfreie Anfragen und schreiben in PHP um. Ich sehe nicht, wo HTML hereinkommt. – apokryfos
HTML kommt herein, wenn es zwei Dateien mit dem gleichen Namen gibt, einer, der mit _.html_ und einem mit _.php_ endet. Ich möchte, dass es zuerst php umschreibt und wenn das nicht funktioniert (d. H. Die Datei existiert nicht in einer "php-version"), greifen Sie zurück, um es als html umzuschreiben. – flashingx
Ich würde vorschlagen, dass Sie Ihre Frage damit aktualisieren, da dies die Frage um einiges verdeutlicht. – apokryfos