PDA

View Full Version : حذف index.php از آدرس



alirezara
پنج شنبه 16 بهمن 1393, 18:41 عصر
با سلام وخسته نباشید خدمت دوستان عزیزم

دوستان من در حال حاضر با آدرس هایی به صورت http://127.0.0.1/kazshohada/index.php/users/search در آدرس بار مرورگرم برای پروژه ام روبرو هستم می خوام index.php را آدرس هایم حذف کنم طبق داکیومنت سایت yii :

http://www.yiiframework.com/doc/guide/1.1/en/topics.url#hiding-x-23x

باید کدهای زیر را در فایل .htaccess قرار دهم.

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
ایا مگه دستو ر بالا باعث نمیشه آدرس من به صورت http://127.0.0.1/kazshohada/users/search تغییر کند؟ اما وقتی این آدرس را اجرا می کنم من با صفحه ی خطای مرورگر روبرو میشم در حالی که با index.php با مشکلی روبرو نمیشم. آیا من باید کارهای دیگری نیز انجام دهم؟

از دوستان عزیزم خواهشمندم که بنده را راهنمایی کنید.

با تشکر از همه ی دوستان عزیزم.

Veteran
پنج شنبه 16 بهمن 1393, 22:14 عصر
از urlManager (http://www.yiiframework.com/doc/guide/1.1/en/topics.url) در فایل کانفیگ برنامه استفاده کنید

MMSHFE
جمعه 17 بهمن 1393, 22:14 عصر
فایل htaccess. که نوشتین باعث تغییر آدرسها نمیشه بلکه فقط داره میگه هر آدرسی از سرور درخواست شد، اگه آدرس فیزیکی یک فایل یا پوشه نبود بفرسته برای index.php
برای تغییر آدرسها همونطور که گفتن باید urlManager رو فعال کنید. توی config/main.php در قسمت components این کد رو اضافه کنید:

'urlManager' => array(
'urlFormat' => 'path',
'caseSensitive' => false,
'showScriptName' => false,
'rules' => array(),
),
برای مشخص کردن ruleها هم از لینکی که گذاشتن کمک بگیرین تا ساختارش دستتون بیاد.

googoli
جمعه 17 بهمن 1393, 22:37 عصر
سلام
استاد در قسمت 10 اموزش شما کاملا توضیح دادید این مسئله رو فقط من هم یک مشکل دارم با این موضوع
زمانی که 'showScriptName' => false, قرار میدم
و مسیر رو به این صورت http://localhost/panel/contact میزنم
با این خطا مواجه میشم


Not Found The requested URL /panel/contact was not found on this server.
Apache/2.4.9 (Win64) PHP/5.5.12 Server at localhost Port 80


باید چکار کنم ؟

MMSHFE
جمعه 17 بهمن 1393, 23:25 عصر
جلسه 10 پکیج آموزش فریمورک Yii به این موضوع اختصاص داده شده.

googoli
شنبه 18 بهمن 1393, 08:59 صبح
استاد
این کد من هست


'urlManager' => array(
'urlFormat' => 'path',
//'caseSensitive' => false,
'rules' => array(
'contact' => 'site/contact'
),
'showScriptName' => false,
),



زمانی که 'showScriptName' => false, قرار میدم با این پیغام مواجه میشم


Not Found

The requested URL /panel/contact was not found on this server.
Apache/2.4.9 (Win64) PHP/5.5.12 Server at localhost Port 80

googoli
شنبه 18 بهمن 1393, 09:22 صبح
در خصوص این عبارت هم یک توضیح میدید؟


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

mr.nice
دوشنبه 20 بهمن 1393, 18:55 عصر
اگه مشکلتون حل شد همینجا اطلاع بدبد ما هم انجام بدیم
من یه مدت درگیر بودم آخر سر هم حل نشد

googoli
دوشنبه 20 بهمن 1393, 22:08 عصر
من در قسمت کانفیگ این کد رو فعلا گذاشتم و به جواب رسیدم


'urlManager' => array(
'urlFormat' => 'path',
'rules' => array(
'contact' => 'site/contact',
'Manager/<module:\w+>/<controller:\w+>/<action:\w+>'=>'<controller>/<action>',
),
'showScriptName' => false,
),



و یک فایل اچ تی اکسس هم درست کردم و کدهای زیر رو توش گذاشتم به جواب رسید


RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteBase /panel
RewriteRule . index.php [L]