نمایش نتایج 1 تا 18 از 18

نام تاپیک: استفاده از Rewrite_Url

  1. #1
    کاربر دائمی
    تاریخ عضویت
    مرداد 1390
    محل زندگی
    www
    پست
    200

    استفاده از Rewrite_Url

    با سلام
    چطوری میتونم با استفاده از Rewrite_Url آدرس هامو از این: profile.php?user=AAAA
    به این صورت تغییر بدم:
    profile.php/AAAA
    اگه دوتا متغییر داشته باشیم چی؟
    profile.php?user=AAAA&id=123
    اینو چطوری میشه ساده کرد؟
    با تشکر

  2. #2
    کاربر دائمی آواتار narsic
    تاریخ عضویت
    شهریور 1387
    محل زندگی
    دهکده جهانی
    سن
    35
    پست
    1,020

    نقل قول: استفاده از Rewrite_Url

    این برای دو تا متغیرت
    <IFModule mod_rewrite.c>
    RewriteEngine On
    RewriteRule ^([^/\.]+)/([0-9]+)$ profile.php?user=$1&id=$2 [QSA,NC,L]
    </IFModule>

    اینم برای یکی
    <IFModule mod_rewrite.c>
    RewriteEngine On
    RewriteRule ^([^/\.]+)$ profile.php?user=$1 [QSA,NC,L]
    </IFModule>

    موفق باشید

  3. #3
    کاربر دائمی آواتار رضا قربانی
    تاریخ عضویت
    خرداد 1389
    محل زندگی
    ܓܨ_| ı̴̴̡ ̡̡͡|̲̲̲͡͡͡ ̲▫̲͡ ̲̲̲͡͡π̲̲͡͡ ̲̲͡▫̲̲͡͡ ̲|̡̡̡ _
    پست
    1,824

    نقل قول: استفاده از Rewrite_Url


  4. #4
    کاربر دائمی
    تاریخ عضویت
    مرداد 1390
    محل زندگی
    www
    پست
    200

    نقل قول: استفاده از Rewrite_Url

    نقل قول نوشته شده توسط narsic مشاهده تاپیک
    این برای دو تا متغیرت
    <IFModule mod_rewrite.c>
    RewriteEngine On
    RewriteRule ^([^/\.]+)/([0-9]+)$ profile.php?user=$1&id=$2 [QSA,NC,L]
    </IFModule>

    اینم برای یکی
    <IFModule mod_rewrite.c>
    RewriteEngine On
    RewriteRule ^([^/\.]+)$ profile.php?user=$1 [QSA,NC,L]
    </IFModule>

    موفق باشید
    این کدها رو کجا باید بنویسم؟برای هر آدرس باید این کد و تکرار کنم؟

  5. #5
    کاربر دائمی آواتار narsic
    تاریخ عضویت
    شهریور 1387
    محل زندگی
    دهکده جهانی
    سن
    35
    پست
    1,020

    نقل قول: استفاده از Rewrite_Url

    این کد هارو در یک فایل بدون نام و با پسوند htaccess ذخیره کنید و در کنار فایل profile.php قرار بدید و در نهایت سایت رو هم برای استفاده از لینک های جدید آماده کنید (لینک ها رو از حالت قدیمی به حالت جدید تغییر بدید)
    منظورتون چه آدرس هایی هست ؟

  6. #6
    کاربر دائمی
    تاریخ عضویت
    مرداد 1390
    محل زندگی
    www
    پست
    200

    نقل قول: استفاده از Rewrite_Url

    نقل قول نوشته شده توسط narsic مشاهده تاپیک
    این کد هارو در یک فایل بدون نام و با پسوند htaccess ذخیره کنید و در کنار فایل profile.php قرار بدید و در نهایت سایت رو هم برای استفاده از لینک های جدید آماده کنید (لینک ها رو از حالت قدیمی به حالت جدید تغییر بدید)
    منظورتون چه آدرس هایی هست ؟
    کارهایی که گفتین و انجام دادم ولی تغییری نکرد

    <IFModule mod_rewrite.c>
    RewriteEngine On
    RewriteRule ^([^/\.]+)/([0-9]+)$ profile.php?user=$1&id=$2 [QSA,NC,L]
    </IFModule>

    اینو تو فایل .htaccess کپی کردم گذاشتم کنار فایل profile.php
    اما هنوز آدرسه هام به این شکل:

    http://localhost/profile.php?name=حامد&id=1003

    این متغییرهای $1 و $2 چی هستن؟

  7. #7
    کاربر تازه وارد
    تاریخ عضویت
    شهریور 1390
    محل زندگی
    بوشهر
    پست
    34

    نقل قول: استفاده از Rewrite_Url

    به تاپیکی که آقا رضا گذاشتن برید حتما جواب میگیرید.

  8. #8
    کاربر دائمی
    تاریخ عضویت
    مرداد 1390
    محل زندگی
    www
    پست
    200

    نقل قول: استفاده از Rewrite_Url

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

  9. #9
    کاربر دائمی آواتار رضا قربانی
    تاریخ عضویت
    خرداد 1389
    محل زندگی
    ܓܨ_| ı̴̴̡ ̡̡͡|̲̲̲͡͡͡ ̲▫̲͡ ̲̲̲͡͡π̲̲͡͡ ̲̲͡▫̲̲͡͡ ̲|̡̡̡ _
    پست
    1,824

    نقل قول: استفاده از Rewrite_Url

    نقل قول نوشته شده توسط farnaz.saeedi مشاهده تاپیک
    با سلام
    چطوری میتونم با استفاده از Rewrite_Url آدرس هامو از این: profile.php?user=AAAA
    به این صورت تغییر بدم:
    profile.php/AAAA
    اگه دوتا متغییر داشته باشیم چی؟
    profile.php?user=AAAA&id=123
    اینو چطوری میشه ساده کرد؟
    با تشکر

    این کد برای تک متغیره هست و زمانی که بعد مساوی حروف قرار می گیره :
    RewriteRule ^Reza/Ali/([^/]*)$ profile.php?user=$1 [L]

    آدرس شما می شه : www.abc.com/Reza/Ali/AAAA که می تونی رضا و علی رو هر چیزی بذاری یا اصلا نذاری . نوشتم تا جریان کار بیاد دستت


    و اگر بخوای بعد مساوی عدد قرار بگیره باید این کد رو قرار بدید :

    RewriteRule ^Reza/Ali/([^/]*)/([^/]*)/?$ profile.php?id=$1 [QSA,NC,L]

    آدرس شما می شه : www.ABC.com/Reza/Ali/123


    نحوه آدرس دهی توی پی اچ پی هم باید بلد باشید دیگه توضیح نمی دم .
    راستی توضیحات لازم هم توی همون تاپیکی که دادم هست.

    واسه دو متغیره :
    حالا با این توصیف شما دو متغیر دارید ولی یکی از نوع عددی می شه و یکی از نوع حروف که این کارت رو سخت می کنه و به نظر من باید شما دو تا مد ریرایت بنویسی و بعد توی آدرس دادن که توی پی اچ پی انجامش می دید این دو آدرس رو با هم ترکیب کنید و از & استفاده نمایید (امیدوارم تونسته باشم منظورم رو بهتون برسونم) ولی بازم این کارهایی که بهتون گفتم تست کن اگر نتونستید دوباره بگید .
    آخرین ویرایش به وسیله رضا قربانی : یک شنبه 04 دی 1390 در 14:19 عصر

  10. #10
    کاربر دائمی
    تاریخ عضویت
    مرداد 1390
    محل زندگی
    www
    پست
    200

    نقل قول: استفاده از Rewrite_Url

    نقل قول نوشته شده توسط رضا قربانی مشاهده تاپیک
    این کد برای تک متغیره هست و زمانی که بعد مساوی حروف قرار می گیره :
    RewriteRule ^Reza/Ali/([^/]*)$ profile.php?user=$1 [L]

    آدرس شما می شه : www.abc.com/Reza/Ali/AAAA که می تونی رضا و علی رو هر چیزی بذاری یا اصلا نذاری . نوشتم تا جریان کار بیاد دستت


    و اگر بخوای بعد مساوی عدد قرار بگیره باید این کد رو قرار بدید :

    RewriteRule ^Reza/Ali/([^/]*)/([^/]*)/?$ profile.php?id=$1 [QSA,NC,L]

    آدرس شما می شه : www.ABC.com/Reza/Ali/123


    نحوه آدرس دهی توی پی اچ پی هم باید بلد باشید دیگه توضیح نمی دم .
    راستی توضیحات لازم هم توی همون تاپیکی که دادم هست.

    واسه دو متغیره :
    حالا با این توصیف شما دو متغیر دارید ولی یکی از نوع عددی می شه و یکی از نوع حروف که این کارت رو سخت می کنه و به نظر من باید شما دو تا مد ریرایت بنویسی و بعد توی آدرس دادن که توی پی اچ پی انجامش می دید این دو آدرس رو با هم ترکیب کنید و از & استفاده نمایید (امیدوارم تونسته باشم منظورم رو بهتون برسونم) ولی بازم این کارهایی که بهتون گفتم تست کن اگر نتونستید دوباره بگید .
    سلام
    ممنون از راهنماییتون
    من این کد و تو فایل .htaccess قرار دادم اما هنوز آدرس هام بصورت قبلا نشون داده میشن
    کد HTML:
    RewriteRule ^([^/]*)/([^/]*)/?$ news.php?id=$1 [QSA,NC,L]
    این یکی از لینک هایی است که یه متغییر داره و اونم از نوع عددی.هنوز به این شکل نشونش میده:
    کد HTML:
    http://localhost/news.php?id=13
    چکار باید بکنم؟

  11. #11
    کاربر دائمی آواتار رضا قربانی
    تاریخ عضویت
    خرداد 1389
    محل زندگی
    ܓܨ_| ı̴̴̡ ̡̡͡|̲̲̲͡͡͡ ̲▫̲͡ ̲̲̲͡͡π̲̲͡͡ ̲̲͡▫̲̲͡͡ ̲|̡̡̡ _
    پست
    1,824

    نقل قول: استفاده از Rewrite_Url

    نه دیگه

    یک چیز رو متوجه نشدی ، شما اصلا آدرس دهی رو اشتباه می زنید
    وقتی توی اچ تی اکسز می نویسی :
    RewriteRule ^Reza/Ali/([^/]*)$ profile.php?user=$1 [L]

    توی مد ریرایت دو آدرس می تونه یک صفحه رو بیاره . چه آدرس اصلی - چه آدرس فرعی که خودتون نوشتید
    آدرس دهی رو به چه صورتی انجام می دید؟
    (زمانی که روی لینک کلیک می کنی آدرس رو به کجا هدایت می کنی؟)

    ؟

  12. #12
    کاربر دائمی
    تاریخ عضویت
    مرداد 1390
    محل زندگی
    www
    پست
    200

    نقل قول: استفاده از Rewrite_Url

    نقل قول نوشته شده توسط رضا قربانی مشاهده تاپیک
    نه دیگه

    یک چیز رو متوجه نشدی ، شما اصلا آدرس دهی رو اشتباه می زنید
    وقتی توی اچ تی اکسز می نویسی :
    RewriteRule ^Reza/Ali/([^/]*)$ profile.php?user=$1 [L]

    توی مد ریرایت دو آدرس می تونه یک صفحه رو بیاره . چه آدرس اصلی - چه آدرس فرعی که خودتون نوشتید
    آدرس دهی رو به چه صورتی انجام می دید؟
    (زمانی که روی لینک کلیک می کنی آدرس رو به کجا هدایت می کنی؟)

    ؟
    این چیزایی که گفتین و اصلا متوجه نشدم.فک کنم حق با شماست من آدرس دهی و اشتباه انجام میدم.یا اصلا مد ریرایت و بد حالیم شده
    من تو صفحه اصلی یکسری تیتر خبر بصورت لینک دارم وقتی رو هرکدوم کلیک میشه آی دی اون خبر با get به صفحه news ارسال میشه.اونجا آی دی رو میگیرم متن خبر رو نشون میدم یعنی وقتی میرم تو صفحه اخبار لینکم به اینصورته:
    کد HTML:
    	http://localhost/news.php?id=13
    حالا میخوام آدرس هام ساده بشن:
    کد HTML:
    news.php/13
    میشه همچین کاری کرد؟

  13. #13
    کاربر دائمی آواتار رضا قربانی
    تاریخ عضویت
    خرداد 1389
    محل زندگی
    ܓܨ_| ı̴̴̡ ̡̡͡|̲̲̲͡͡͡ ̲▫̲͡ ̲̲̲͡͡π̲̲͡͡ ̲̲͡▫̲̲͡͡ ̲|̡̡̡ _
    پست
    1,824

    نقل قول: استفاده از Rewrite_Url

    خب بذار واست راجع به آدرس دهی توضیح بدم :

    ببینید شما وقتی چنین مد ریرایتی ایجاد می کنید
    RewriteRule ^Reza/Ali/([^/]*)$ profile.php?user=$1 [L]


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

    a href="www.ABC.com/Reza/Ali/'.$row["user"].' " ............intori


    آدرس شما می شه : www.abc.com/Reza/Ali/AAAA که می تونی رضا و علی رو هر چیزی بذاری یا اصلا نذاری . نوشتم تا جریان کار بیاد دستت !!!

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

  14. #14
    کاربر دائمی
    تاریخ عضویت
    مرداد 1390
    محل زندگی
    www
    پست
    200

    نقل قول: استفاده از Rewrite_Url

    نقل قول نوشته شده توسط رضا قربانی مشاهده تاپیک
    خب بذار واست راجع به آدرس دهی توضیح بدم :

    ببینید شما وقتی چنین مد ریرایتی ایجاد می کنید
    RewriteRule ^Reza/Ali/([^/]*)$ profile.php?user=$1 [L]


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

    a href="www.ABC.com/Reza/Ali/'.$row["user"].' " ............intori


    آدرس شما می شه : www.abc.com/Reza/Ali/AAAA که می تونی رضا و علی رو هر چیزی بذاری یا اصلا نذاری . نوشتم تا جریان کار بیاد دستت !!!

    من هر چیزی که لازم بود رو به صورت خیلی واضح توضیح دادم مابقی بستگی به تلاش خودتون داره.
    موفق باشید.
    سلام
    یعنی برای ارسال به صفحه خبر نباید از فرم استفاده کنم؟
    من اینجوری آدرس دهی کردم:
    کد HTML:
    action="news.php?id=<?php echo $i;?>"
    باید حتما از تگ a استفاده کنم؟
    این row یعنی چی؟
    با تشکر

  15. #15

    نقل قول: استفاده از Rewrite_Url

    با سلام، به نظرم این بحث خیلی داره طولانی میشه. حقیقتش اینطور احساس کردم که شما برداشت صحیحی از عملیات URL Rewriting ندارین. بنابراین، لازم دونستم این توضیحات رو مطرح کنم:
    دوست عزیز، دو نوع آدرس زیر رو درنظر بگیرین:
    نوع الف : mysite.com?action=delete&id=5
    نوع ب : mysite.com/delete/5
    یا این دو نوع آدرس:
    نوع الف : mysite.com?user=AAA
    نوع ب - mysite.com/AAA
    در اکثر مواقع، برداشت اشتباهی بین کاربران وجود داره که فکر میکنن قراره آدرسهایی از نوع الف رو به نوع ب تبدیل کنیم که این برداشت، کاملاً اشتباه هست. درحقیقت هدف از Rewrite، تبدیل آدرسهای نوع ب به الف است. حالا این تفاوت که به ظاهر جزئی بنظر میاد، چه اهمیتی داره؟ اهمیت این مسئله اونجا مشخص میشه که شما لینکهای سایت خودتون رو میخواین بسازین. برای مثال، این کد htaccess. رو ببینید:

    RewriteRule ^(.*)$ index.php?url=$1 [L,QSA]

    این کد داره میگه هرچی بعد از آدرس اومد رو بعنوان مقدار پارامتر url درنظر بگیر که ازطریق GET برای صفحه index.php ارسال میشه. درنتیجه، اگه توی آدرس بار بنویسیم:
    mysite.com/test/ali
    آدرس فوق رو بصورت زیر تبدیل میکنه:
    mysite.com/index.php?url=test/ali
    یا این کد:

    RewriteRule ^(.*)/(.*)$ index.php?action=$1&id=$2 [L,QSA]

    باعث میشه آدرسهایی مثل این:
    mysite.com/delete/5
    تبدیل بشن به این آدرس:
    mysite.com/index.php?action=delete&id=5
    بنابراین، توی صفحه میتونیم با همون روش عادی (استفاده از GET_$) از پارامترهای موجود در آدرس استفاده کنیم. برای درک بهتر، میتونید دستورات مختلفی رو توی فایل htaccess. بنویسید و فایل index.php رو اینطوری بگذارین:
    کد HTML:
    <!doctype html>
    <html>
    <head>
    <title>Rewrite TEST</title>
    <meta charset="utf-8"/>
    </head>
    <body>
    <pre>
    <?php
        print_r($_GET);
    ?>
    </pre>
    </body>
    </html>
    تا در شرایط مختلف، مقادیر آرایه GET_$ رو براتون نمایش بده و ببینید htaccess. داره چطور کار میکنه. اما اونچه که از توضیحات فوق مسلمه اینه که درصورت استفاده از Rewrite، باید آدرسهای سایتتون رو با روش ب تولید کنید تا htaccess. اونها رو به روش الف تبدیل کنه. درنتیجه همه لینکهای موجود توی سایتتون اگه بصورت:
    mysite.com?action=delete&id=5
    هستن، اونها رو باید بصورت زیر در بیارین:
    mysite.com/delete/5
    تا htaccess. اونها رو بصورت قبلی تبدیل کنه. توی صفحه PHP خودتون هم به راحتی با ['GET['action_$ و ['GET['id_$ میتونید مثل حالت آدرس دهی معمولی، کار کنید.
    امیدوارم تونسته باشم خوب توضیح بدم. اگه باز هم ابهامی بود، در خدمتم.
    موفق باشید.

  16. #16
    کاربر دائمی آواتار hamed-php
    تاریخ عضویت
    دی 1389
    محل زندگی
    01110000 01101000 01110000
    پست
    409

    نقل قول: استفاده از Rewrite_Url

    با سلام

    لطفاً در خصوص مخفی کردن index.php?action=delete&id=5 هم از دید کاربر هم بفرمایید آیا هم چنین چیزی ممکن هست؟
    یعنی به جای mysite.com/index.php?action=delete&id=5 کاربر فقط mysite.com رو ببینه!

  17. #17
    کاربر دائمی آواتار رضا قربانی
    تاریخ عضویت
    خرداد 1389
    محل زندگی
    ܓܨ_| ı̴̴̡ ̡̡͡|̲̲̲͡͡͡ ̲▫̲͡ ̲̲̲͡͡π̲̲͡͡ ̲̲͡▫̲̲͡͡ ̲|̡̡̡ _
    پست
    1,824

    نقل قول: استفاده از Rewrite_Url

    نقل قول نوشته شده توسط farnaz.saeedi مشاهده تاپیک
    سلام
    یعنی برای ارسال به صفحه خبر نباید از فرم استفاده کنم؟
    من اینجوری آدرس دهی کردم:
    کد HTML:
    action="news.php?id=<?php echo $i;?>"
    باید حتما از تگ a استفاده کنم؟
    این row یعنی چی؟
    با تشکر
    نه حتما تگ a -------- می تونی توی فرم هم این کار رو انجام بدی !!
    این row یعنی چی؟ همون $i شما می شه
    a href="www.ABC.com/Reza/Ali/'.$i.' " ............intori

  18. #18

    نقل قول: استفاده از Rewrite_Url

    نقل قول نوشته شده توسط hamed-php مشاهده تاپیک
    با سلام

    لطفاً در خصوص مخفی کردن index.php?action=delete&id=5 هم از دید کاربر هم بفرمایید آیا هم چنین چیزی ممکن هست؟
    یعنی به جای mysite.com/index.php?action=delete&id=5 کاربر فقط mysite.com رو ببینه!
    بعید میدونم بشه از این طریق مقادیر رو به روش GET ارسال کرد. شاید بشه کارهای خاصی در برخی موارد جزئی انجام داد. مثلاً با کوکی و کارهایی ازطریق JS بشه مقادیر رو بین صفحات انتقال بدیم ولی مطمئناً دردسرهای زیادی خواهد داشت. ضمناً خیلی هم سودمند بنظر نمیرسه. شما جای خاصی این مورد رو دیدین؟

قوانین ایجاد تاپیک در تالار

  • شما نمی توانید تاپیک جدید ایجاد کنید
  • شما نمی توانید به تاپیک ها پاسخ دهید
  • شما نمی توانید ضمیمه ارسال کنید
  • شما نمی توانید پاسخ هایتان را ویرایش کنید
  •