3 Stimmen

Wie man verzeichnisartige URLs für jede Seite einer Website erstellt

Ich habe eine Content-Site, die sich über mehrere Seiten erstreckt, aber es gibt nur 1 index.php-Datei, die die Daten aus der Datenbank auf der Grundlage der Seite Nr. abruft.

Gegenwärtig muss die Url-Richtung etwa wie folgt lauten domainname.com/Page/content.php?page=3

Mir ist aufgefallen, dass viele Websites eine verzeichnisartige Struktur für die URLs haben:

domainname.com/Page/3

Ich weiß, wie ich es ändern kann in domainname.com/Page/?page=3 aber ich möchte die ?page Teil.

Wie kann ich dies tun, ohne für jede Seite ein eigenes Verzeichnis zu erstellen, da der Inhalt ständig wächst und sich daher für jede Seite ändert.

Danke

4voto

ITroubs Punkte 10696

Diese Websites verwenden mod_rewrite, um die angeforderte URL mithilfe eines regulären Ausdrucks umzuschreiben

EDIT:

dies neu zu schreiben: domainname.com/Page/3

dazu: domainname.com/Page/content.php?page=3

würde in der Datei .htaccess Datei:

<IfModule mod_rewrite.c>
    RewriteEngine On
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteRule ^([a-zA-Z]*)/(.*)$ /content.php/$1/page=$2 [L]
</IfModule>
<IfModule !mod_rewrite.c>
    ErrorDocument 404 /error_with_mod_rewrite.html
</IfModule>

Hier habe ich auch eine Einschränkung gemacht, dass der Vari-Name ein Buchstabe sein muss, entweder groß oder klein.

0voto

J. M. Becker Punkte 2641

"URL Rewrites" ist die Funktion, die eine benutzerdefinierte URL-Struktur durchführt. Dies ist eine sehr verbreitete und wichtige Funktion in den meisten gängigen Webservern. URL-Rewrites sind nicht nur bei Apache verfügbar. Zum Beispiel,

Apache verwendet das Mod_Rewrite-Modul.

Nginx verwendet die Direktiven "Rewrite" und "Try_Files".

Cherokee verfügt über diese Funktion, die über das Admin-Webpanel konfiguriert werden kann.

es gibt noch viele weitere Beispiele, dies sind nur einige, mit denen ich gearbeitet habe. Darüber hinaus habe ich gehört, dass bei einigen Projekten der Programmiercode umgeschrieben wird. Dies hat sich mit den neuen sprachspezifischen Webservern weiter verbreitet.

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X