0

私はこれを持っていますhttpd.conf

<VirtualHost xx.xxx.xx.xxx>
    Options All +ExecCGI
    ServerAdmin hostmaster@thehost.com
    DocumentRoot /var/www/html/domain.com
    ServerName  dl.domain.org
    DirectoryIndex dlindex1.html
</VirtualHost>

...これで問題ありません ( DirectoryIndex「dl.domain.org」サブドメインのとして必要なもの) 。これは可能ですか?DirectoryIndex.htaccess

他のSOの投稿では、条件付きで設定できないと言っていDirectoryIndexますが、代わりに..使用する必要がありRewriteRuleます。それが本当ならOKですが、何RewriteCondですかRewriteRule?私はApacheの初心者ですが、とにかく多くのことを試しました(実際のIPは2人の開発者のものです):

RewriteCond %{REMOTE_ADDR} ^111\.222\.333\.444$    [OR]
RewriteCond %{REMOTE_ADDR} ^555\.666\.777\.888$
RewriteCond %{SERVER_NAME} ^dl.domain.org
RewriteRule ^(.*)/$ $1/dlindex2.html

..または単に(絶対的なテストとして):

RewriteCond %{REMOTE_ADDR} ^555\.666\.777\.888$
RewriteRule (.*)/dlindex1.html$ $1/dlindex2.html

しかし、開発者の IP が呼び出しているときにそのサブドメインのデフォルト ページとして提供したいのとは対照的に、何を試してもそのままのように提供されるDirectoryIndex dlindex1.htmlようです。httpd.confdlindex2.html

私が求めているものを得るために私ができることを教えてくれる人はいますか? つまり、これ: ...実際に、または単に効果的に、DirectoryIndexIP アドレスに基づいて.htaccess、オンザフライで変更するには?

4

1 に答える 1

0

2つの方法が私のために働くことが判明しました:

https://unix.stackexchange.com/questions/44129/conditional-directoryindex-based-on-ip-address-using-htaccess

https://webmasters.stackexchange.com/questions/32727/conditional-directoryindex-based-on-ip-address-using-htaccess

例えば:

RewriteEngine On
RewriteCond %{REMOTE_ADDR} ^12\.34\.56\.78$
RewriteCond %{REQUEST_URI} index\.html$
RewriteRule .* /index1.html

RewriteCond %{REMOTE_ADDR} !^12\.34\.56\.78$
RewriteCond %{REQUEST_URI} index\.html$
RewriteRule .* /index2.html
于 2012-07-29T14:32:22.193 に答える