2017-01-14 3 views
0

Verzeichnisstruktur des Mein Projekt ist wie folgt:.htaccess Datei nicht gewünschte Ergebnis geben

localhost/proj1 
-folder1 
-folder2 
-.htaccess 
-header.php 
-index.php 
-about_us.php 
-contact_us.php 

In der Kopfseite, Hyperlink about_us.php zu öffnen ist wie <a href="about/">About Us</a> .Similarly für Kontakt-Seite ist es <a href="contact/">Contact us</a> .Der Inhalt Datei meiner .htaccess ist wie folgt:

<IfModule mod_rewrite.c> 
    RewriteEngine on 
    RewriteCond %{SCRIPT_FILENAME} !-d 
    RewriteCond %{SCRIPT_FILENAME} !-f 
    RewriteRule ^about/ about_us.php 
    RewriteRule ^contact/ contact_us.php 
RewriteRule .* 404.php [L] 
</IfModule> 

In der obigen Datei, wenn ich Rewrite-Regel für 404-Fehler zu entfernen, um die Regel für über wir uns & kontaktieren arbeitet properly.However wenn ich die Regel nicht entfernen für 404 Fehler dann Der Link für uns und kontaktieren Sie uns nicht funktionieren stattdessen Seiten 404.php umgeleitet werden. Warum verhält es sich so ?? Wie man Regeln für den 404 Datei nicht gefundenen Fehler einfügt? Bitte helfen Sie, wie ich zu htaccess neu bin.

+0

Sie diese Zeile am Anfang des .htaccess hinzufügen können 'Errordocument 404/404 .php' und dann löschen Sie Ihre 404 Rewrite-Regel – aperpen

Antwort

0

Ich weiß nicht, was Sie genau machen wollen. Ok, wenn Sie die 404-Fehler zu handhaben möchten, erstellen Sie einfach eine 404.php-Datei, und fügen Sie diese in der .htaccess

RewriteEngine On 
RewriteBase/
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_FILENAME} !-l 

RewriteRule ^about/ about_us.php [L] 
RewriteRule ^contact/ contact_us.php [L] 
RewriteRule ^([^\.]+)$ $1.php [NC,L] 

ErrorDocument 404 /404 
+0

es dauert nicht 404.php, wenn es nicht übereinstimmende URL –

+0

ist es, weil Sie die 404.php-Datei – Ruben

+0

Yes @ruben, die 404.php-Datei zu erstellen ist dort –

Verwandte Themen