1

共有ホスティング サーバーに次のフォルダ ツリーがあります。

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 サーバーは public_html フォルダー内の index.html を検索します。

  1. 誰かが www.somesite.com を検索したときにWebサーバーが表示さwebsite/index.htmlれるようにしたいのですが、彼のブラウザー バーは表示されるだけwww.somesite.com/index.htmlで、表示されないようにしたいと考えています。www.somesite.com/website/index.html

  2. また、誰かが検索したときにWebサーバーが表示されるようにしたいsite_editor/login.htmlwww.somesite.com/site_editor/

いくつかの方法で .htaccess ファイルを設定することで、両方のタスクを達成することは可能ですか???

ありがとう!

4

1 に答える 1

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がどのように適用されるかにより、正しく行うのは難しいです。それが何であるかを覚えているなら、私は私の答えを更新します。

于 2010-06-16T15:09:09.963 に答える