Url Rewrite Rules

Hello,

i know that are many topics like this, but after 3 hours of search on google, i can’t find the solution :(

Here is my main urlmanager:


'urlManager'=>array(

			'urlFormat'=>'path',

			'showScriptName'=>false,

			'rules'=>array(

				'/' => 'site/index',

				'<action>'=>'site/<action>',

				'<controller:\w+>/<id:\d+>'=>'<controller>/view',

				'<controller:\w+>/<action:\w+>/<id:\d+>'=>'<controller>/<action>',

				'<controller:\w+>/<action:\w+>'=>'<controller>/<action>',

			),

		),

and this is my htaccess:




Options +FollowSymLinks

IndexIgnore */*

RewriteEngine on

# if a directory or a file exists, use it directly

RewriteCond %{REQUEST_FILENAME} !-f

RewriteCond %{REQUEST_FILENAME} !-d

# otherwise forward it to index.php

RewriteRule . index.php

with this in place, i get this error:


Not Found


The requested URL /blog/contact was not found on this server.


Apache/2.2.22 (Ubuntu) Server at localhost Port 80

please help me understand what is the problem :(

First of all, I see a strange rule

‘<action>’=>‘site/<action>’

should be something like ‘<action:\w+>’=>‘site/<action>’ I suppose.

Next, make sure that BlogController.php exists and has function actionContact().

blog is the folder of my project, the controller is SiteController.

You want to set the RewriteBase directive in your .htaccess.