我的共享托管服务器上有以下foloder树:
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时,网络服务器会在public_html文件夹中查找index.html。
我希望网页服务器在有人查找www.somesite.com时显示website/index.html
,我希望他的浏览器栏只显示{{ 1}} 而非www.somesite.com/index.html
当有人查找www.somesite.com/website/index.html
site_editor/login.html
醇>
是否可以通过某种方式设置.htaccess文件来完成这两项任务?
谢谢!
答案 0 :(得分: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的应用方式,所以要做到正确是很棘手的。如果我记得它是什么我会更新我的答案。