Ich habe Folgendes in meiner .htaccess-Datei:
%Vor%Was ich versuche zu erreichen, ist dies:
Wenn die URL www.mydomain.com/directory/10
aufgerufen wird, wird die Seite www.mydomain.com/directory/?id=10
im Browser angezeigt, ohne die Darstellung der URL zu ändern.
Der obige Code erzeugt jedoch einen internen Serverfehler von 500.
Weiß jemand, wo ich falsch liege?
Ihr Code generiert garantiert 500 interne Serverfehler, da er eine Endlosschleife verursacht. Grund dafür ist, dass Ihr passendes URI-Muster lautet: ^directory/(.*)$
Dies entspricht Ihren URLs vor und nach dem Neuschreiben. Und sobald es die maximale erlaubte interne Wiederbeschreibungsgrenze erreicht, löst Apache 500 interne Serverfehler aus und sperrt es.
Ändern Sie Ihren Code wie folgt:
%Vor% Der obige Code enthält eine zusätzliche RewriteCond %{REQUEST_FILENAME} !-f
, die sicherstellt, dass die nachfolgende Ausführung von RewriteRule nach dem ersten Mal nicht mehr möglich ist, da /directory/index.php
eine gültige Datei sein wird.
Ich habe das gleiche Problem und festgestellt, dass "Umschreiben" -Modul in meinem Fall noch nicht aktiviert ist. Also muss ich es aktivieren und dann Apache-Server neu starten:
Ich hoffe, dies wird jedem helfen.
Sie sollten versuchen, vorne einen Schrägstrich hinzuzufügen:
%Vor%Damit bin ich schon einmal fertig geworden.
Alternativ können Sie auch die Funktionen RewriteLog und RewriteLogLevel verwenden, um zu debuggen. Weitere Informationen finden Sie in den Apache-Fehler- und Zugriffsprotokollen:
%Vor% Das wird eine Protokolldatei in Ihrem Apache-Protokollverzeichnis hinterlassen. In meinem Fall ist das /var/log/apache
Wenn Sie CodeIgniter verwenden und Fehler 500 vorliegen. Folgen Sie der Lösung.
Um das Segment "index.php" von URLs in CodeIgniter zu löschen, müssen Sie 2 Dinge tun. Die erste besteht darin, die Datei /system/application/config/config.php
zu bearbeiten und den Wert der Richtlinie index_page in leer zu ändern:
Der zweite Schritt besteht darin, eine Datei .htaccess
Und das ist es! Von jetzt an haben die URLs Ihrer Website / Ihres Systems, die mit CodeIgniter erstellt wurden, nicht mehr den Thread (der von einigen als "störend" bezeichnet wird) "index.php".
Tags und Links php apache .htaccess mod-rewrite