تغییر در Url

[right][/right]میخوام اگر کاربر index.php رو هم وارد نکرد بتونه به کنترلر دسترسی داشته باشه

مثلا هر دوتا زیریا کار کنن

http://localhost/newsletter/site/index

http://localhost/index.php/newsletter/site/index

ا

[rtl]

در فایل .htaccess روت پروژه خطوط زیر رو اضافه کنید تا آدرس ها بدون index.php نیز در دسترس باشند

IndexIgnore /

RewriteEngine on

RewriteCond %{REQUEST_FILENAME} !-f

RewriteCond %{REQUEST_FILENAME} !-d

RewriteRule . index.php

[/rtl]

الان فایل .htacssess من این شده ولی اجرا نمیشه

deny from all

IndexIgnore /

RewriteEngine on

RewriteCond %{REQUEST_FILENAME} !-f

RewriteCond %{REQUEST_FILENAME} !-d

RewriteRule . index.php

توی کانفیگ:




'urlFormat'=>'path',

'showScriptName'=>false,



[font="Tahoma"] [rtl]در توضیحاتت اشاره به حذف index.php داشتی ولی در مثالهایی که ارائه دادی index نوشته بودی و البته اون رو هم انتهای دامین نیاورده بودی و در آخر در جایگاه یک اکشن اورده بودی!

در نتیجه اگر که منظورت همون حذف index.php از انتهای دامین بوده یعنی این:

sitename.com/index.php/site

که خب راه هایی که دوستان در بالا گفتند رو دنبال کن.

ولی اگر منظورت از index یک اکشن بوده یعنی یه همچین چیزی:

sitename.com/site/index

در این صورت باید از ‎$defaultAction استفاده کنی و کدی شبیه زیر:[/rtl]




class SiteController extends CController

{


  public $defaultAction = 'index';


  public function actionIndex()

  {


  }


}



[/font][rtl][font="Tahoma"]که در حالت بالا آدرس به صورت [/font]sitename.com/site هم باز میشه.

[/rtl]