I essentially want each request to

http://localhost/~lucamatteis/datadict/AccessionMainName

to really call

http://localhost/~lucamatteis/datadict/index.php/AccessionMainName

Here's my current .htaccess physically situated under ~lucamatteis/datadict/

RewriteEngine on
RewriteBase /~lucamatteis/datadict/
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php/$1 [L]

But regrettably this does not work. I have attempted everything. At this time I believe the problem is the fact that It's while using tilde, or I am unsure.

Within the phpinfo() underneath the loaded modules section mod_rewrite is loaded. I am unsure where else to appear when i should load an additional factor for mod_rewrite to operate.

Any ideas?

To begin with make certain that you are in a position to override Apache configuration trough .htaccess file ( AllowOwerride config directive).

Then attempt to remove RewriteBase directive totally. Within this situation the present directory will be utilized for base.

Change you ReWriteBase for your physical directory:

/home/lucamatteis/public_html/datadict  (or something similar)

http://httpd.apache.org/docs/1.3/mod/mod_rewrite.html#RewriteBase

I believe however , for you to do an interior redirection to some file that doesn't is available:

/home/lucamatteis/public_html/datadict/index.php/AccessionMainName

This can only work if index.php is really a directory and AccessionMainName is really a file.

I do not think such factor can be achieved. The majority of the occasions, using query string parameters is all that's necessary:

index.php?AccessionMainName

... and also you see clearly from $_GET['AccessionMainName'].