PDA

View Full Version : سوال: آدرسهای تمیز با htaccess.



meysamh
دوشنبه 17 بهمن 1390, 23:47 عصر
سلام لطفا راهنمایی کنید چطور علامت (؟ ) سوال را با .htaccess از لینک های سایتم حذف کنم

توضیح بیشتر :

در انتهای هر لینک سایتم متغیر pg با مقدار learn فرستاده میشه مثل لینک زیر :
http://www.hemmaty.com/weblog/learn/index.php?pg=learn
میخوام این آدرس به صورت زیر تغییر کنه با تشکر
http://www.hemmaty.com/weblog/learn/pg/learn

برای حل مشکل seo نیاز به تغییر فوق هستم ممنون میشم راهنمایی کنید
----------------------------------------------------
در لینک های زیر توضیحات داده شده اما چون با Regular expression کار نکردم نتونستم تغییرات رو اعمال کنم

http://www.hotscripts.com/forums/web-servers/36500-create-clean-url-htaccess-rewrite-engine.html

http://www.desiquintans.com/cleanurls

با تشکر از زحمات شما آقای کرامتی فر

MMSHFE
سه شنبه 18 بهمن 1390, 17:04 عصر
RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_URI} !\.(css|pdf|gif|ico|jpg|js|png|swf|pdf|txt|php)$
RewriteRule ^(.*)/(.*)$ index.php?$1=$2 [L,QSA]

بدین ترتیب، اگه توی آدرس بنویسید:
http://www.hemmaty.com/weblog/learn/pg/learn
بصورت زیر تبدیل خواهد شد:
http://www.hemmaty.com/weblog/learn/index.php?pg=learn
و درنتیجه، توی صفحه میتونید به راحتی با ['GET['pg_$ بهش دسترسی پیدا کنید.
موفق باشید.

رضا قربانی
سه شنبه 18 بهمن 1390, 17:45 عصر
http://barnamenevis.org/showthread.php?276467-%D8%AA%D8%B1%D9%81%D9%86%D8%AF%D9%87%D8%A7%DB%8C-.htaccess&p=1220621#post1220621

رضا قربانی
سه شنبه 18 بهمن 1390, 19:08 عصر
RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_URI} !\.(css|pdf|gif|ico|jpg|js|png|swf|pdf|txt|php)$
RewriteRule ^(.*)/(.*)$ index.php?$1=$2 [L,QSA]

بدین ترتیب، اگه توی آدرس بنویسید:
http://www.hemmaty.com/weblog/learn/pg/learn
بصورت زیر تبدیل خواهد شد:
http://www.hemmaty.com/weblog/learn/index.php?pg=learn
و درنتیجه، توی صفحه میتونید به راحتی با ['GET['pg_$ بهش دسترسی پیدا کنید.
موفق باشید.


در این پست ، شما اومدید گفتید هر کجا در فایل index.php آدرس داینامیک بود به جای = , ؟ , & از / استفاده کن . درسته ؟
بعد اینا واسه چی هست css|pdf|gif|ico|jpg|js|png|swf|pdf|txt|php ؟ فکر کنم همون php خالی بذارید بهتر باشه.
یک چیزی رو فراموش کردید به این دوستمون بگید : اینه که فایل .Htaccess رو داخل فولدر learn درست کنه و کدهایی که گفتید رو داخلش بریزه.

با تشکر

MMSHFE
سه شنبه 18 بهمن 1390, 19:16 عصر
شرمنده حواسم به اینکه توی پوشه دارن کار میکنن نبود. بله باید فایل رو داخل پوشه weblog/learn بگذارن. علت اینکه اون کد رو هم گذاشتم برای اینه که اگه توی مرورگر مستقیماً آدرس فایلهای عکس و... رو نوشتیم، اونها رو نشون بده و به قالب مربوطه تبدیل نکنه. اگه نیازی ندارین، میتونین فقط php رو بگذارین. موفق باشید.

MMSHFE
چهارشنبه 19 بهمن 1390, 08:59 صبح
خواهش میکنم. دکمه تشکر بجای متشکرم، کاربرد مناسبتر و بهتری داره. موفق باشید.

morteza_carefree
پنج شنبه 18 اسفند 1390, 19:47 عصر
خوب اگه من دو تا متغییر بخوام بفرستم چیکار کنم

رضا قربانی
یک شنبه 21 اسفند 1390, 13:59 عصر
پست شماره 3 آدرس دادم و داخل آدرس چیزی که شما می خواهیید وجود داره با آموزش.

موفق باشید

morteza_carefree
دوشنبه 22 اسفند 1390, 20:18 عصر
دوست خوبم من آموزش رو خوندم اما اگه بخوام به دوتا صفحه با نام های متفاوت بفرستم اونوقت چطور که با هم قاطی نشن

رضا قربانی
سه شنبه 23 اسفند 1390, 00:24 صبح
دوست خوبم من آموزش رو خوندم اما اگه بخوام به دوتا صفحه با نام های متفاوت بفرستم اونوقت چطور که با هم قاطی نشن

خب به دو تا صفحه آدرس گت ارسال کن . فرقی نمی کنه.

واسه هر صفحه توی اچ تی اکسس آدرسی تعریف می کنی . خیلی ساده . مانند همون ارسال یک گت به یک صفحه

morteza_carefree
سه شنبه 23 اسفند 1390, 15:34 عصر
خوب فرض کنید من دوتا صفحه دارم به اسم های info و news وقتی من به این شکل توی اچ تی اکسس آدرس میدم این آقای آپاچی لینک زیر رو از کجا بدونه مال کدومه

http://www.hemmaty.com/weblog/learn/pg/learn

داخل اچ تی اکسس هم نوشتم

RewriteRule ^(.*)$ info.php?id=$1 [L,QSA]
RewriteRule ^(.*)$ news.php?id=$1 [L,QSA]

aliborz
سه شنبه 23 اسفند 1390, 20:02 عصر
سلام به دوستان عزیز و عرض خسته نباشید
من به یک مشکلی در طراحی سایتم برخوردم که امیدوارم با کمک شما دوستان برطرف بشه.

مشکل من از این قراره که من از یک script برای سایتم استفاده کردم که بر پایه php و mysql است در حال حاضر ادرس صفحات کاتالوگ به صورت زیر است. برای مثال ادرس کاتالوگ کشاورزی به این صورته
http://example.com/category.php?IndustryID=60&Industry=Agriculture

حال من می خواهم ادرس به صورت زیر باشه
http://example.com/Agriculture.html

البته نکته ای که وجود دارد اینه که من می خواهم Agriculture (نام کاتالوگ ها) از دیتابیس سایت فراخوانی گردد.

با تشکر از دوستان