با استفاده از htaccess میتونین این کار رو انجام بدین.
کد htaccess :
کد:rewriteengine on rewriterule ^index/id/([^/]*)/name/([^/]*)$ /index.php?id=$1&name=$2 [l]
http://mysite.com/index.php?id=1&name=name
http://mysite.com/index/id/1/name/name
این فایل رو که زمیمه کردم رو دانلود کن و در کنار فایل index.php آپ کنم (البته بعد از اکسترکت!).
و به جای اینکه لینکت رو اینطوری نمایش بدی :
به این صورت نمایش بده :کد:http://mysite.com/index.php?id=1&name=name
البته جاهای متغییر لینک رو هم که باید تغییر بدی.کد:http://mysite.com/index/id/1/name/name
این فایل رو که زمیمه کردم رو دانلود کن و در کنار فایل index.php آپ کنم (البته بعد از اکسترکت!).
و به جای اینکه لینکت رو اینطوری نمایش بدی :
به این صورت نمایش بده :کد:http://mysite.com/index.php?id=1&name=name
البته جاهای متغییر لینک رو هم که باید تغییر بدی.کد:http://mysite.com/index/id/1/name/name
باید برای هرکدوم تک تک rule تعریف کنیدفرض کنید که بخوام تمام صفحات سایت رو به این صورت در بیاریم و هر صفحه ممکنه که متغیرهای نامشخصی (متغیرهایی که در آرایه گت ذخیره می شن) داشته باشه، در این صورت چه کدی باید استفاده کنیم؟
لطفا یه کد جامع که در هر شرایطی کار کنه، معرفی کنید. توی این کد جدید مسائل امنیتی باید مد نظر گرفته بشن.
باید برای هرکدوم تک تک rule تعریف کنید
برای این کار شما باید یه روتر طراحی کنید که آدرس رو اول منظم کنه بعد به شک مطلوب مورد نظر ما در بیاره بعد هم دیگه همین !
چیو مثال بزنم ؟ روتر رو ؟
در شرایط فعلی یادگیری روتر بهتره.
لطفا یه مثال در مورد روتر بزنید.
شما اگر از mvc برای سیستمتون استفاده کنید خوب هست ! روتر میاد چیکار میکنه میاد هدایت میکنه یعنی چی ؟
مثلا آدرس زیر رو ببینید :
Test.com/news/show/1
تعریف میکنید که این آدرس یعنی کنترلر news تابع : Show و مقدار 1 به تابع show پاس میشه !
اون صفحاتی رو هم که پیدا نکرد هدایت میکنید به یه صفه 404 !![]()
اگر که cpanel دارید که توی اون قسمت میتونید تعریف کنید !
من دارم روی سیستم خودم سایت رو تست می کنم و به سی پنل دسترسی ندارم.
محتویات فایل 404 چی باید باشه؟ چه اسم و چه پسوندی باید داشته باشه؟
یه صفحه معمولی که به کاربر یه پیغام میده که مثلا این صفحه موجود نیست ! شما اگر ز کنترل خطا در برنامه استفاده کنید راحت 404 رو میتونید تشخیص بدید اگر هم نه که کلا برنامه رو بنویسید بعدش داخل cpanrl صفحه 404 رو بسازید که اگر آدرسی رو پیدا نکرد مثلا یه پیغامی رو نشون بده !
عموما با اسم 404 با notfound و پسوند php ذخیره میکنند . بالای صفحه باید این هدر رو قرار بدید :ایجاد یه صفحه با محتویاتی که به کاربر یه پیام نشون بده که کاری نیست، اما از نظر اصول سئو چه چیزی باید توی فایل قرار داد و فایل رو باید با چه اسم و پسوندی ذخیره کرد؟
header('HTTP/1.1 404 Not Found');
ErrorDocument 404 /notfound.php