2017-01-18 16 views
-1

Ich versuche zu reinigen URL mit. Htaccess-Datei, ich versuche herauszufinden, wie kann ich saubere URL, aber etwas falsch machen..htaccess Datei Rewrite-Regel mit sauberen URL

Hier ist mein Ordner:

Folder

mit diesem Code Versuch:

RewriteEngine On 
RewriteRule ^admin admin.php [NC,L] 
RewriteRule ^new new.php [NC,L] 
RewriteRule ^page page.php [NC,L] 
ErrorDocument 404 http://localhost/modul-1-froland/zaro/media/php/404.php 
RewriteRule ^([a-zA-Z0-9]+)$ edit.php?id=$1 

Meine url (ohne Reinigung) ist: localhost/modul-1-froland/zaro/Medien /php/admin.php

Ich möchte dies tun: localhost/modul-1-froand/zaro/admin

Jeder kann mir helfen oder mir sagen, was ich falsch mache?

Antwort

0

Sie müssen das Umschreiben von Schleifen verhindern, z. B. admin.php würde wieder entsprechen von ^admin. Verwenden Sie stattdessen ^admin$ oder besser fügen Sie ein RewriteCond:

RewriteEngine On 

RewriteCond %{REQUEST_URI} !-f 
RewriteCond %{REQUEST_URI}.php -f 
RewriteRule ^/?(.+)$ $1.php [L] 

RewriteRule ^/?([a-zA-Z0-9]+)$ edit.php?id=$1 [L] 

ErrorDocument 404 /modul-1-froland/zaro/media/php/404.php 

Alternativ Sie Ihren Ansatz halten können explizit einzelne URIs zu umschreiben. Aber Sie brauchen eine endlose Schleife Umschreiben zu verhindern, indem sie leicht die Muster zu ändern:

RewriteEngine On 

RewriteRule ^/?admin$ admin.php [L] 
RewriteRule ^/?new$ new.php [L] 
RewriteRule ^/?page$ page.php [L] 

RewriteRule ^/?([a-zA-Z0-9]+)$ edit.php?id=$1 [L] 

ErrorDocument 404 /modul-1-froland/zaro/media/php/404.php 

Zusätzlich müssen Sie sicherstellen, dass wo Ihre .htaccess Stil-Datei befindet. Unter Verwendung der obigen Regeln sollte es in Ihrem Projektordner /modul-1-froland/zaro/media/php platziert werden. Auch die Interpretation von .htaccess Style-Dateien muss in Ihrer HTTP-Server-Konfiguration mit dem Befehl AllowOverride aktiviert werden und vom http-Server-Prozess gelesen werden können.


Und ein allgemeiner Hinweis: Sie sollten immer bevorzugen solche Regeln in der http-Server Host-Konfiguration mit .htaccess Style-Dateien anstatt zu platzieren. 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)).

+0

wow, danke vielmals :) –