简体   繁体   中英

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.

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 .

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM