views:

515

answers:

2

Hi,

Is it possible to make the DirectoryIndex value in a .htaccess file conditional based on IP, so that - for example - my IP see's DirectoryIndex as index.html and everyone else sees DirectoryIndex as index.php?

Is there a solution other than mod_rewrite?

+1  A: 

As far as I know, there is no conditional for DirectoryIndex. You could simulate that with a mod_rewrite directive like this one:

RewriteCond %{REMOTE_ADDR} your_ip
RewriteCond -d
RewriteRule (.*)/$ $1/index.html

If you want to exclude other visitors of the site from viewing index.html then also use

RewriteCond %{REMOTE_ADDR} !your_ip
RewriteRule (.*)/index.html$ $1/index.php
Residuum
yeah, that was going to be my fallback if it wasnt possible. if no-one else has another solution i'll accept this.
seengee
A: 

Using the provided information I beleive the following is what you need:

RewriteCond %{REMOTE_ADDR} ^your_ip$
RewriteRule (.*)/$ $1/index.php

RewriteCond %{REMOTE_ADDR} !^your_ip$
RewriteRule index.php$ index.html

So that only your IP can see index.php and everybody else will see index.html

or possibly:

DirectoryIndex index.html

RewriteCond %{REMOTE_ADDR} ^your\.ip\.000\.000$
RewriteRule ^index.html$ index.php
Lizard
This is working for me, but how can I add muliple ip's?DirectoryIndex index.htmlRewriteCond %{REMOTE_ADDR} ^your\.ip\.000\.000$RewriteRule ^index.html$ index.phpthanks
EricP