2010-07-21 7 views
0

Je suis nouveau à la réécriture d'URL et a vu dans de nombreux sites l'effet d'URL Rewriting. Je suis complètement nouveau dans ce domaine. Même, je trouve difficile d'apprendre cela.URL-Rewriting aide

L'aide est, je veux réécrire http://www.example.com/resources/pages/demos/any-page.html

à

http://www.example.com/demos/any-page.html omettant le répertoire resources/pages/. J'espère que cette ré-écriture est possible et si s'il vous plaît me aider à fournir le code .htaccess pour cette réécriture. J'utilise un serveur Linux.

Répondre

0

mod_rewrite est pas la chose la plus facile à saisir au premier abord. Je pense que vous trouverez le code suivant suffisant:

Options +FollowSymLinks 

RewriteEngine On 
RewriteBase/
RewriteRule ^demos/(.*)\.(htm|html)$ resources/pages/$1.$2 [L] 

Ceci doit être placé dans la racine du document de votre site. Il traitera les .html et les pages .htm et correspondent uniquement les pages. Pour faire correspondre n'importe quelle page après les démos/url (Avec n'importe quelle extension), utilisez ce qui suit:

Options +FollowSymLinks 

RewriteEngine On 
RewriteBase/
RewriteRule ^demos/(.*)$ resources/pages/$1 [L] 
+0

Marco, j'ai essayé votre méthode, mais elle ne fonctionne pas. Je suis allé à 'http: // www.example.com/démos/index.html' mais je reçois une page d'erreur 404. J'ai ajouté le fichier .htaccess à 'example.com/.htaccess'. Aucune suggestion ? –

+0

Est-ce que les démos dossier existent réellement? –

+0

Aussi ce code a fonctionné pour moi - cependant vous devrez assurer deux choses: mod_rewrite est permis et que 'AllowOverride' est réglé sur Tout dans httpd.conf (Ou dans la section" Sites-enabled "sur Ubuntu –

0

mis .htaccess à /, et dans ce fichier:

RewriteEngine On 
RewriteRule ^demos/(.*)\.html resources/pages/demos/$1.html