Taco
Taco

Reputation: 317

how can I set .htaccess for existing files and folders

Can any one help me in .htaccess.

My use case is, if there is index.php in the directory http://domain_name/user/ then load index.php else set rewriteRule to call forbidden.php.

I did a bit but not succeed yet. .htaccess code on my server is-

<IfModule mod_rewrite.c>
RewriteEngine on
RewriteBase /

RewriteCond %{SCRIPT_FILENAME} !-f
RewriteCond %{SCRIPT_FILENAME} !-d
RewriteCond ^(.*)$/index.php !-d

RewriteCond %{REQUEST_URI} (.*)/$
RewriteRule ^(.*)$ forbidden.php?handle=$1

</IfModule>

Upvotes: 2

Views: 243

Answers (1)

martinstoeckli
martinstoeckli

Reputation: 24131

I think there is an easier way to do what you want. There is no need for rewriting, simply define which page acts as the entry page. In the .htaccess file you can define:

DirectoryIndex index.php
ErrorDocument 404 /forbidden.html

Now, if anybody calls your directory http://www.example.com/user/, the page http://www.example.com/user/index.php will be shown.

If the file index.html does not exist, the server will return an error, so you can define an appropriate error page. With a leading /, you can define a single error page in the root directory, without the / it will look in the relative directory http://www.example.com/user/forbidden.php.

Upvotes: 1

Related Questions