2010-06-16 9 views
1

je l'arbre foloder suivant sur mon serveur d'hébergement partagé:Faire Apache pour montrer différents index.html aussi adresse du navigateur bar

www.somesite.com 
| 
|_ public_html (document folder) 
    |_ .htaccess (Apache file) 
    |_ index.html (page shown by server now when someone looks for www.somesite.com) 
    | 
    |_ site_editor (folder) 
    | |_login.html (site editor control panel) 
    | |_file1.php 
    | |_file2.php 
    | |_ ... 
    | 
    |_ website (folder) 
     |_ index.html (website HOME PAGE) 
     |_ page1.html 
     |_ page2.html 
     |_ etc. 

Maintenant, quand quelqu'un cherche www.somesite.com le look serveur web pour l'index .html dans le dossier public_html.

  1. Je voudrais que le serveur web pour montrer website/index.html quand quelqu'un cherche www.somesite.com et je voudrais sa barre du navigateur pour afficher uniquement www.somesite.com/index.html et non www.somesite.com/website/index.html

  2. Je voudrais également comme le serveur Web à afficher site_editor/login.html lorsque quelqu'un cherche www.somesite.com/site_editor/

Est-il possible d'accomplir les deux tâches en définissant des fichiers .htaccess à certains égards?

Merci!

Répondre

0

Si je comprends bien, ce qui suit devrait fonctionner, même si je ne teste pas vraiment:

RewriteEngine On 
RewriteBase/
# Rewrite everything that's not site_editor or already rewritten 
# to the website folder 
RewriteRule !^site_editor(/.*)?$ -   [C] 
RewriteRule !^website(/.*)?$  -   [C] 
RewriteRule ^(.*)$    website/$1 [PT,QSA,L] 
# Rewrite a request to site_editor/ to site_editor/login.html 
RewriteRule ^site_editor/$  site_editor/login.html 

Les gens pourraient encore aller à www.somesite.com/website/index.html si elles voulaient bien que. Je pense qu'il y a peut-être un correctif pour cela, mais à cause de la façon dont les RewriteRules .htaccess sont appliquées, il est difficile de faire les choses correctement. Si je me souviens de ce que c'est, je mettrai à jour ma réponse.