PDA

View Full Version : سوال: ریدایرکت آدرس دینامیک توسط htaccess



sina1808
سه شنبه 30 اردیبهشت 1393, 09:36 صبح
سلام دوستام
کلی روی این قضیه کار کردم اما جواب نگرفتم حتی از بخش ریدایرکت سی پنل هم نتونستم
میخوام آدرس هایی به شکل زیر :

fastsearch?blogs=1&query=عبارت جستجو شده
به ادرس زیر ریدایرکت بشن :

?s=عبارت جستجو شده

ممنون میشم راهنمایی کنید

MMSHFE
سه شنبه 30 اردیبهشت 1393, 10:40 صبح
دوست عزیز، اگه منظورتون اصلاح آدرسها برای افزایش SEO هست، بهش میگن Rewrite و Redirect کلاً قضیه اش فرق میکنه. ضمناً توی Rewrite هیچ تغییر آدرس بطور خودکار انجام نمیشه بلکه شما میگین که آدرسهایی که اینطوری وارد شده:

?s=عبارت جستجو شده
رو بصورت زیر فرض و پردازش کنه:

fastsearch?blogs=1&query=عبارت جستجو شده
اهمیت درک این تفاوت، خیلی مهمه چون باید متوجه بشین که لینکهاش شما تغییر نمیکنه بلکه خودتون باید ساختار لینکها رو اصلاح کنید و مطابق با ساختار SEO لینک بسازین ولی به وب سرور با کمک Rewrite میگین اون چیزی که ساختار کامل هست رو تفسیر کنه. این چیزی که شما میخواین رو هم با htaccess. میشه اینطوری تولید کرد:

RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-l
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule s=(.*) fastsearch?blogs=1&query=$1

sina1808
سه شنبه 30 اردیبهشت 1393, 12:05 عصر
سلام
ممنون از توجه شما اما من برای موضوع سئو و زیبا کردن لینک نمیخواستم

من سیستم مدیریت محتوای سایتم رو عوض کردم و دچار 404 شدم !

الان یه سری لینک اینطوری به سایتم داده شده از بیرون :

fastsearch?blogs=1&query=عبارت جستجو شده

که میخوام تغییر مسیر بده ( redirect 301 ) بشه به آدرس جدید که اینطوری هست :

?s=عبارت جستجو شده

ممنون میشم راهنمایی بفرمایید

MMSHFE
سه شنبه 30 اردیبهشت 1393, 13:28 عصر
خوب میتونید توی htaccess. از دستور Redirect هم استفاده کنید. توی اینترنت مثال براش هست. میتونید کد 301 رو هم بصورت [R=301] ست کنید.

sina1808
سه شنبه 30 اردیبهشت 1393, 15:18 عصر
من هم بصورت دستی در .htaccess و هم از بخش redirects در Cpanel اقدام کردم
هر طوری مینویسم عمل نمیکنه !
جالبه که من ریدایرکت های زیادی تعریف کردم که دارند کار میکنند اما این اذیت میکنه و عمل نمکینه
میشه نمونه ای برایم بنویسید ؟