2009-05-18 9 views
2

J'essaie juste de comprendre si je suis sur le bon chemin - des détails supplémentaires sur la réécriture de l'URL dans mon exemple seraient appréciés.Débutant Apache URL Rewrite Question

J'ai installé un programme CMS et souhaite simplement que www.example.com soit pointé vers www.example.com/cms. Je veux juste savoir si la réécriture d'URL par Apache est le meilleur moyen d'y parvenir?

Merci.

Répondre

1

C'est certainement l'approche que je prendrais. Je vais supposer que vous utilisez Apache, bien que cela puisse facilement être fait avec IIS. Vous devrez éditer votre fichier .htaccess dans le répertoire racine pour le faire en utilisant mod_rewrite.

<IfModule mod_rewrite.c> 

    RewriteEngine on 

    RewriteRule ^(.*)$ /cms/$1 [L] 

</IfModule> 

Ceci devrait fonctionner pour ce que vous recherchez. Changez "cms" au répertoire que vous voulez réécrire.

2

Il suffit de rediriger http://example.com/-http://example.com/cms/:

<IfModule mod_rewrite.c> 
    RewriteEngine On 
    RewritRule ^/?$ /cms/ 
</IfModule> 

Réorienter tous les urls qui autrement AVONS 404d pour commencer/cm /:

<IfModule mod_rewrite.c> 
    RewriteEngine On 
    RewriteBase/
    RewriteCond %{REQUEST_FILENAME} !-f 
    RewriteCond %{REQUEST_FILENAME} !-d 
    RewriteRule ^(.*)$ /cms/$1 [L] 
</IfModule> 

Réorienter tous urls à/cm /:

<IfModule mod_rewrite.c> 
    RewriteEngine On 
    RewriteBase/
    RewriteRule ^(.*)$ /cms/$1 [L] 
    <Directory /var/www/html/cms/> #change this to the correct path 
    RewriteEngine Off 
    </Directory> 
</IfModule>