David Barnes
David Barnes

Reputation: 2148

How do I get mod_rewrite to work in my home directory?

I have my PHP files stored under FreeBSD under this directory:

/home/david/public_html/code/php

In my browser, I access them through this URL:

http://192.168.6.7/~david/code/php

And I have an htaccess file to rewrite URLs:

RewriteEngine on
RewriteRule ^test test.php

But when I go to http://192.168.6.7/~david/code/php/test in my browser, I get this error:

Not Found

The requested URL /home/david/public_html/code/php/test.php

As you can see, the rewrite rule is successful in attempting to redirect test to test.php. But for some reason it fails.

I found this in my apache error log file:

File does not exist: /usr/local/www/data/home

Anyone know how to fix this? By the way, if I put this in a web directory and not my home directory, everything works fine.

Upvotes: 0

Views: 1687

Answers (1)

Gumbo
Gumbo

Reputation: 655489

Set the base URL path to /~david/code/php/ with RewriteBase:

RewriteBase /~david/code/php/

You should also make clear to set UseDir to public_html. See also Per-user web directories in the Apache manual.

Upvotes: 5

Related Questions