2010-11-23 20 views
0

Ich bin auf der Suche nach Ihren Empfehlungen, wie Sie am besten benutzerfreundliche URLs implementieren können.So richten Sie benutzerfreundliche URLs ein

Was ich gerade mache, ist die Umleitung aller 404 Anfragen in Ordner oder Dateien, die nicht in index.php existieren. index.php liest die Query-String und macht eine Datenbank-Aufruf, um zu sehen, ob die URL in der page_urls Tabelle ist dann auf der Grundlage der Seitentyp abruft Inhalt etc etc.

Die .htaccess die folgenden Zeilen enthält:

RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteRule .* index.php [L]

Gibt es einen "clevereren" Weg, dies bitte zu tun? Vielen Dank.

Vielen Dank.

+0

zu weit gefassten Frage ist. Sie sollten wirklich mehr von dem beschreiben, was Sie mit "clever" meinen. – casablanca

+0

Ein Gedanke zu diesem Thema, bei dem es nicht um die Mechanismen des URL-Neuschreibens geht: Denken Sie darüber nach, welche HTTP-Statuscodes Sie zurücksenden. Wenn Sie eine Seite in der Datenbank finden, von der Sie denken, dass sie die gewünschte ist, ist wahrscheinlich eine permanente Weiterleitung (301) zur kanonischen URL dieser Seite am besten. Oder, wenn Sie die Nachricht senden möchten, dass die Ressourcen der fehlerhaften URLs wirklich verschwunden sind, geben Sie 404 zurück (optional einschließlich Seiteninhalt, der für einen verlorenen Menschen hilfreich sein könnte). Wenn Sie eine normale (200, "OK") Antwort zurückgeben, sagen Sie, dass es in Ordnung ist, diese (unterbrochenen) URLs weiter zu verwenden. –

+0

Hey. casablanca: "clever" ist alles, was besser gemacht werden kann. Die obige Variante funktioniert, also suche ich nach etwas Besserem, wenn es existiert. pbx: Ich benutze header(), um 200 OK oder 404 nicht für gute URLs oder schlechte URLs zu finden. – Francisc

Antwort

1

Die beste Weise, die ich gefunden habe, ist so etwas wie die folgenden Funktionen ausführen:

RewriteEngine on 
RewriteRule ([a-zA-Z0-9_-]*)\.html index.php?page=$1 [L] 
+0

Es ist eine Idee, danke. Aber es ist im Grunde das gleiche System nur mit einer anderen Art der Umleitung. – Francisc

Verwandte Themen