2010-06-16 116 views
1

我有我的共享主机服务器上的以下foloder树:让Apache以显示不同的index.html也是在浏览器的地址栏中

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. 

现在,当有人查找www.somesite.com Web服务器查找指数.html在public_html文件夹中。

  1. 我想网络服务器显示website/index.html当有人查找www.somesite.com,我想他的浏览器栏只显示www.somesite.com/index.html,而不是www.somesite.com/website/index.html

  2. 我会也就像web服务器到显示site_editor/login.html当有人找www.somesite.com/site_editor/

是否有可能通过以某种方式设置.htaccess文件来完成这两项任务?

谢谢!

回答

0

如果我理解正确,下面应该工作,虽然我并没有真正测试:

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 

人们仍然可以去www.somesite.com/website/index.html如果他们想虽然。我认为可能有一个解决方案,但由于如何应用.htaccess RewriteRules,很难得到正确的答案。如果我记得它是什么,我会更新我的答案。

相关问题