PDA

View Full Version : سوال: چگونه در آدرس صفحه از - به جای فاصله استفاده کنم؟



pirmard66
یک شنبه 23 تیر 1392, 21:22 عصر
با سلام خدمت دوستان و اساتید محترم

میخوام ببینم روشی وجود داره که در آدرس صفحات به جای فاصله که 20% نمایش داده میشه، ( -) بیاد؟

فکر کنم جایی دیدم با htacsess میشه،ولی هرچی سرچ کردم نتیجه ای نگرفتم.

ممنون میشم کمک کنید.

با تشکر

AliRezaPro
یک شنبه 23 تیر 1392, 23:23 عصر
فکر کنم بتونید از urlencode() و rawurlencode() استفاده کتید
متدهاش تو اینترنت هست . سرچ بفرمایید
ببینید :

http://www.php.net/rawurlencode

pirmard66
یک شنبه 23 تیر 1392, 23:59 عصر
با تشکر...
من یادم رفت بگم داخل گوگل با این مشکل مواجه هستم!!!

یعنی جایی که آدرس صفحه رو در سرچ گوگل میزنه

pirmard66
پنج شنبه 27 تیر 1392, 01:28 صبح
ﺩﻭﺳﺘﺎﻥ ﻛﺴﻲ ﻧﻈﺮﻱ ﻧﺪﺍﺭﻩ؟

ابوذر محمودی
پنج شنبه 27 تیر 1392, 10:24 صبح
با htaccess هم میشه مثلا این کد زیرو ببینین

RewriteEngine on
Options +FollowSymlinks -MultiViews
RewriteRule ^(.+)(\s|%20)(.+)$ /$1-$3 [R=301,QSA,L,NE]

میتونی کامل ترش کنی

soroush.r70
پنج شنبه 27 تیر 1392, 10:25 صبح
از این سایت میتونی کمک بگیری (http://www.generateit.net/mod-rewrite/)

pirmard66
پنج شنبه 27 تیر 1392, 16:46 عصر
ﺑﺎ htaccess ﻫﻢ ﻣﯿﺸﻪ ﻣﺜﻼ ﺍﯾﻦ ﮐﺪ ﺯﯾﺮﻭ ﺑﺒﯿﻨﯿﻦ

RewriteEngine on
Options +FollowSymlinks -MultiViews
RewriteRule ^(.+)(\s|%20)(.+)$ /$1-$3 [R=301,QSA,L,NE]

ﻣﯿﺘﻮﻧﯽ ﮐﺎﻣﻞ ﺗﺮﺵ ﮐﻨﯽ

ﻣﻴﺸﻪ ﺑﻴﺸﺘﺮ ﺗﻮﺿﻴﺢ ﺑﺪﻳﺪ؟
ﺯﻳﺎﺩ httacsess ﻭﺍﺭﺩ ﻧﻴﺴﺘﻢ

pirmard66
پنج شنبه 27 تیر 1392, 20:28 عصر
متاسفانه هنوز مشکل پابرجاست

shahriyar3
پنج شنبه 27 تیر 1392, 22:06 عصر
خیلی سادست چرا اینقدر راه حل های پیچیده پیشنهاد میدن!!!!
با str_replace کاراکتر space و به - تغییر بده بعد که پارامتر ارسال شد خواستی بخونیش دوباره از - به space برگردون.

ابوذر محمودی
پنج شنبه 27 تیر 1392, 22:36 عصر
کدی که گفتمو تو فایل htaccess بذار ، حالا اگه خواستی مثلا به جای - کاراکتر + بذاری تو خط آخر اینو باید تغییر بدی $1+$3 یا مثلا میخای بجاش ستاره بذاری اینطوری عمل میکنی $1*$3

توضیح بیشتر :
http://www.pressingquestion.com/1452715/How-To-Redirect-20-Or-White-Space-Automatically-To-%2B-Or---With-Htaccess%3F

ابوذر محمودی
پنج شنبه 27 تیر 1392, 22:42 عصر
خیلی سادست چرا اینقدر راه حل های پیچیده پیشنهاد میدن!!!!
اکثر کاراییی که مربوط به ریرایت url میشه رو با htaccess انجام میدن .

shahriyar3
پنج شنبه 27 تیر 1392, 22:50 عصر
اکثر کاراییی که مربوط به ریرایت url میشه رو با htaccess انجام میدن .
کی همچین حرفی زده ؟!!!
یک سایتی ممکنه بخش سرچ داشته باشه که بخوان url با + باشه توی همون سایت بخش مقالات هم هست که میخوان تیترش و با - بزارن .
اون دیگه برمیگرده به توانائی های برنامه نویس که چجوری و خودش و برنامه شو کدشو بپیچونه بجای اینکه با یک خط کد ساده همونو انجام بده!!!
استفاده زیاد از htaccess باعث ایجاد محدودیت میشه در آدرس دهی.

ابوذر محمودی
پنج شنبه 27 تیر 1392, 23:10 عصر
محدودیتی نداره شما می تونین محدودش کنین که فقط یه سری فایل خاصو - بذاره.

اگه منظور دوستمون فاصله تو مقادیر باشه ، میتونه از ریپلیس کردن استفاده کنه. اما اگه نام فایل ها و پوشه ها فاصله داره باید از htaccess استفاده کنه.
اما حالا در نظر بگیر این دوستمون سایتشو نوشته و کامل شده به نظرت راحت ترین راه برای حذف فاصله کدومه؟

من برداشتم این بوده که این دوستمون سایتش کامله و منظورش حذف کاراکتر فاصله از کل آدرس حتی نام فایل و پوشه بوده.
اگه شما برداشتتون این بوده که این دوستمون تازه داره سایتشو طراحی میکنه و فضای خالی بین مقادیرو داره حذف میکنه ، میشه گفت راه حل پیشنهادی شما هم مناسبه.

ابوذر محمودی
پنج شنبه 27 تیر 1392, 23:18 عصر
کی همچین حرفی زده ؟!!!
شما آدرس زیرو با کد پی اچ پی به خط بعد تبدیل کن:
http://site.com/index.php?id=10
به
http://site.com/article-id/10

شما دقت کن من چی میگم،ریرایت url

اکثر کاراییی که مربوط به ریرایت url میشه رو با htaccess انجام میدن .

شما وقتی با دستور php داری ریپلیس میکنی هیچ عملی تو url انجام نمیدی،چون در واقع urlی که ساختی یه آدرس واقعیه ، پس ریرایت نکردی url رو

موفق باشی

shahriyar3
پنج شنبه 27 تیر 1392, 23:22 عصر
محدودیتی نداره شما می تونین محدودش کنین که فقط یه سری فایل خاصو - بذاره.

اگه منظور دوستمون فاصله تو مقادیر باشه ، میتونه از ریپلیس کردن استفاده کنه. اما اگه نام فایل ها و پوشه ها فاصله داره باید از htaccess استفاده کنه.
اما حالا در نظر بگیر این دوستمون سایتشو نوشته و کامل شده به نظرت راحت ترین راه برای حذف فاصله کدومه؟

من برداشتم این بوده که این دوستمون سایتش کامله و منظورش حذف کاراکتر فاصله از کل آدرس حتی نام فایل و پوشه بوده.
اگه شما برداشتتون این بوده که این دوستمون تازه داره سایتشو طراحی میکنه و فضای خالی بین مقادیرو داره حذف میکنه ، میشه گفت راه حل پیشنهادی شما هم مناسبه.
خدائیش خیلی آدم باحالی هستی . خودت فهمیدی الان چی شد قضیه ؟!!!! کدی که براش گذاشتی داره چیکار میکنه؟ اسم فایل و فولدر و داره با htaccess فاصله هاشو از بین میبره یا پارامتر های ارسالی رو؟
در هر صورت چه سایت و شروع بخواد بکنه چه تموم کرده باشه بخواد توسعه بده میتونه از تابع str_replace استفاده کنه . در هر صورت یه جائی از کدش داره $_GET و میخونه دیگه میتونه همون و بزاره تو تابع str_replace و ادامه برنامه رو اجرا کنه!! برام عجیبه که میگی نمیشه!!!!
عجیبه واقعا خودت هنوز htaccess بلد نیستی نمی تونی کد هایی که مینویسی رو تجزیه تحلیل کنی بعد میای برای مردم آموزش هم میزاری!!!!

shahriyar3
پنج شنبه 27 تیر 1392, 23:24 عصر
شما آدرس زیرو با کد پی اچ پی به خط بعد تبدیل کن:
http://site.com/index.php?id=10
به
http://site.com/article-id/10

شما دقت کن من چی میگم،ریرایت url


شما وقتی با دستور php داری ریپلیس میکنی هیچ عملی تو url انجام نمیدی،چون در واقع urlی که ساختی یه آدرس واقعیه ، پس ریرایت نکردی url رو

موفق باشی
اصلا این چه ربطی به سئوال و موضوع این تاپیک داره؟!!!

ابوذر محمودی
پنج شنبه 27 تیر 1392, 23:25 عصر
آره بابا شما استادی توضیح بده.
اون آدرسی که دادمو با کد پی اچ پی ریرایت کن

ابوذر محمودی
پنج شنبه 27 تیر 1392, 23:27 عصر
اصلا این چه ربطی به سئوال و موضوع این تاپیک داره؟!!!

ربطش به اینه که من میگم ریرایت url رو با htaccess انجام میدن میگین کی گفته ، خب شما با کد php ریرایت کن اون آدرسی رو که دادم.
شما اصلا ریرایت url رو نگرفتین چیه بعد موضع میگیری.



عجیبه واقعا خودت هنوز htaccess بلد نیستی نمی تونی کد هایی که مینویسی رو تجزیه تحلیل کنی بعد میای برای مردم آموزش هم میزاری!!!!
سرچ کن تو پستام ، جاهایی که ضروریه توضیحات دادم ، من واقعا تو رفتار بعضی ها می مونم ،
من چه آموزش جامعی به ایشون دادم؟ کدوم تاپیک آموزش htaccess رو راه انداختم؟ ، بنده گفتم با این کد میشه اینکارو انجام داد! و گفتم اگه به جای - بخای کاراکتر دیگه ای بذاری کجارو باید تغییر بدی.

من ازین که تاپیک ها بخوان محل بحث و جدل بشه و تاپیک از بحث اصلیش منحرف بشه خوشم نمیاد.
شما خیلی دوس داری ادامه بده.

primard66 عزیز : اگه فقط میخوای از پارامترهای ارسالی فاصله رو حذف کنی همین کاری که دوستمون گفتن رو انجام بدین

با str_replace کاراکتر space و به - تغییر بده بعد که پارامتر ارسال شد خواستی بخونیش دوباره از - به space برگردون.