Forum Moderators: phranque

Message Too Old, No Replies

A little help for a.htaccess file needed

htaccess rewrite

         

dave33

1:40 am on Feb 19, 2005 (gmt 0)

10+ Year Member



I want to have a specific structure. I want to separate php files in the root folder. Every page and folder are rewriten. But I don't want the root php files to be rewriten. Have tried for several hours, but I can't get it working.

RewriteEngine on
Options +FollowSymlinks
RewriteBase /
RewriteCond %{REQUEST_FILENAME}!-f
RewriteRule . /dispacher.php [L]
# and now break the rewriting for root php files
RewriteRule ^([^.]+).php - [L]

Can anyone enlighten me?
Thanks in advance.

jdMorgan

2:39 am on Feb 19, 2005 (gmt 0)

WebmasterWorld Senior Member 10+ Year Member



dave33,

Yes, you need to break the rule first:


RewriteEngine on
Options +FollowSymlinks
RewriteBase /
RewriteRule \.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule .* /dispatcher.php [L]

-or alternately-

RewriteEngine on
Options +FollowSymlinks
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule !\.php$ /dispatcher.php [L]

It looks like some details are missing, though. For example, why are you checking for "file does not exist"? And how do you want to handle requests for "/" -- the default index file?

Jim

dave33

4:11 am on Feb 19, 2005 (gmt 0)

10+ Year Member



Thanks for your help Jim

RewriteRule ^$ /index.php [L]
RewriteCond %{REQUEST_FILENAME}!-f
RewriteRule!\.php$ /dispacher.php [L]

It works, and for your question I put one more line for the defaut index file. And for "file does not exist", I have a filexist function in the "dispatcher.php".