2016-07-03 17 views
0

ich meine .htaccess-Datei mysite.com/page-mysite.com/page.php neu zu schreiben, bearbeitet und 404-Fehlerseite zu zeigen, wenn ein Benutzer mysite.com/page.php angefordert statt mysite.com/pageBenutzerdefinierte Fehlerseite scheiterte nach laden htaccess Bearbeitung

ich meine eigene benutzerdefinierten 404-Fehlerseite hinzugefügt

auch

Aber wenn ich mysite.com/page.php angefordert, die Fehlerseite war Seite Standard-404-Fehler Apache gezeigt (statt meine benutzerdefinierte Fehlerseite), mit zusätzlicher Fehlerinfo:

Additionally, a 500 Internal Server Error error was encountered while trying to use an ErrorDocument to handle the request. 

Mein Fehlerprotokoll:

Request exceeded the limit of 10 internal redirects due to probable configuration error. 

Hier ist meine .htaccess-Datei:

RewriteEngine On 
RewriteBase/

RewriteRule ^([^.?]+)$ %{REQUEST_URI}.php [L] 

RewriteCond %{THE_REQUEST} "^[^ ]* .*?\.php[? ].*$" 
RewriteRule .* - [L,R=404] 

ErrorDocument 404 /error/404 

ich versucht habe oben zu 404.php aber die benutzerdefinierte Fehlerseite noch nicht angezeigt 404 in der letzten Zeile zu ändern ..

Die benutzerdefinierte Fehlerseite erschien jedoch, als ich mysite.com/page/ anforderte (beachten Sie den Schrägstrich).

Antwort

1

Ich verstehe nicht, wo dieser Fehler herkommt. Sie können es jedoch lösen, indem Sie die Regelkette beenden, wenn 404.php angefordert wird. Legen Sie diese Regel am Anfang

RewriteRule ^error/404.php$ - [L] 

Unrelated, aber Sie können Ihre Regeln ein wenig

RewriteCond %{REQUEST_FILENAME}.php -f 
RewriteRule^%{REQUEST_FILENAME}.php [L] 

RewriteCond %{THE_REQUEST} \.php 
RewriteRule \.php$ - [L,R=404] 
+0

Die Regelketten-Exit-Lösung funktioniert gut. Außerdem kann ich jetzt '/' an die Anfrage anhängen, so dass 'mysite.com/index/'keine Fehlerseite wirft und die URL sauberer macht – GPraz

0
RewriteEngine On 
RewriteCond %{REQUEST_FILENAME} !-f 
RewriteRule ^([^\.]+)$ $1.php 
ErrorDocument 404 /error/404.php 
+0

Es funktioniert nicht vereinfachen. Immer noch kein Fehler bei der Anfrage mit. PHP – GPraz

+0

Hallo, könnten Sie bitte etwas Erklärung zu Ihrem Code hinzufügen? Dies tauchte in der Review-Warteschlange auf, wie es nur Code-Antworten tun. – Will

Verwandte Themen