2010-10-07 9 views
3

J'ai un site de contenu qui se propage sur plusieurs pages, mais il n'y a qu'un seul fichier index.php qui récupère les données de la base de données en fonction de la page no.Comment créer un répertoire comme URL pour chaque page sur un site Web

Actuellement, la direction URL doit être quelque chose comme domainname.com/Page/content.php?page=3

Je l'ai remarqué, tout à fait quelques sites ont répertoire comme la structure pour les urls comme:

domainname.com/Page/3

Je sais comment changer à domainname.com/Page/?page=3 mais je cherche à supprimer la partie ?page.

Comment puis-je faire cela, sans créer individuellement un répertoire pour chaque page, le contenu ne cesse de croître, d'où des changements pour chaque page.

Merci

+0

htaccess url réécriture est ce dont vous avez besoin. Consultez cette http://www.yourhtmlsource.com/sitemanagement/urlrewriting.html discussion sur la conversion de http://www.example.com/viewcatalog.asp?category=hats&prodID=53 en http://www.example.com/ catalogue/chapeaux/53/c'est ce que vous avez besoin aussi Quelque chose d'utile http://roshanbh.com.np/2008/03/url-rewriting-examples-htaccess.html – zod

+0

Ce qui est demandé ici est également connu sous le terme http : //en.wikipedia.org/wiki/Clean_URL – Philzen

Répondre

4

Ces sites utilisent mod_rewrite pour faire une "Transforme" sur l'URL demandée en utilisant une expression régulière

EDIT:

réécriture ceci: domainname.com/Page/3

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

ressemblerait à ceci dans le fichier .htaccess:

<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> 

Ici, j'ai également fait une restriction pour que le nom var soit une lettre majuscule ou minuscule. "URL Rewrites" est la fonctionnalité qui effectue une structure d'URL personnalisée.

+0

Merci de vérifier – Gaurav

0

Ceci est une caractéristique très commune et importante dans la plupart des serveurs Web courants. Les réécritures d'URL ne sont pas seulement disponibles avec Apache. Par exemple,

Apache utilise le module Mod_Rewrite.

Nginx utilise les directives 'Rewrite' et 'Try_Files'.

Cherokee a la fonction intégrée, configurable à partir du panneau d'administration web.

Il y a beaucoup d'autres exemples, ce sont quelques-uns avec lesquels j'ai travaillé. En outre, j'ai entendu certains projets faire les réécritures dans le code de programmation. Ceci est devenu plus répandu avec les nouveaux serveurs web spécifiques à la langue.

Questions connexes