Reputation: 5238
Hello i have problem with my htaccess configuration in my own mvc. IDK what i do wrong? All time i have this message 500:
Internal Server Error
The server encountered an internal error or misconfiguration and was unable to complete your request.
Please contact the server administrator, admin@localhost and inform them of the time the error occurred, and anything you might have done that may have caused the error.
More information about this error may be available in the server error log.
I want to make url rewrite to index. Try to do somthing like this
www.example.com/index.php/controller/method/param
www.example.com/index.php?url=controler
My .htaccess look like this:
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-l
RewriteRule ^(.+) index.php?url=$l [QSA,L]
What i do wrong ?? I read http://httpd.apache.org/docs/current/rewrite/flags.html and do how is there explained.
Upvotes: 4
Views: 26002
Reputation: 11424
You have an error on your last line:
RewriteRule ^(.+) index.php?url=$l [QSA,L]
It should be:
RewriteRule ^(.+)$ index.php?url=$1 [QSA,L]
In other words change the $l (the letter el) to a $1 (the number one). Also, you probably want your $ after the parentheses to close the line.
Upvotes: 3
Reputation: 1201
<IfModule mod_rewrite.c>
Options +FollowSymLinks
RewriteEngine On
RewriteCond %{REQUEST_URI} !-f
RewriteCond %{REQUEST_URI} !-d
RewriteCond %{REQUEST_URI} !-l
RewriteRule ^(.*)$ index.php?url=$1 [QSA,L]
</IfModule>
This one should works
http://www.mysite.com/stats
=>
http://www.mysite.com/index.php?url=stats
Upvotes: 4
Reputation: 4479
Please check these configuration directives if your .htaccess hidden file is in the main root:
RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^index\.php/([a-zA-Z0-9_-]+)/method/param$ /index.php?url=$1 [QSA,L]
It will rewrite www.example.com/index.php/$var/method/param into www.example.com/index.php?url=$var but make sure that your .htaccess file is in the main root.
Upvotes: 1
Reputation: 2597
Try this one:
<IfModule mod_rewrite.c>
Options +FollowSymLinks
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php?url=$1 [L]
</IfModule>
Upvotes: 2