آژانس هواپیماییexchanging

دايركتيو AcceptPathInfo

شروع موضوع توسط sasan_66 ‏17 سپتامبر 2007 در انجمن PHP

  1. sasan_66

    sasan_66 کاربر تازه وارد

    تاریخ عضویت:
    ‏18 جولای 2006
    نوشته ها:
    450
    تشکر شده:
    0
    يه جايي خوندم براي اينكه بتونم مثلا از url
    http://www.example.com/articles/php/145/
    به جاي url
    http://www.example.com/articles.php?category=php&id=145
    استفاده كنم بايد از ويژگي lookback آپاچي استفاده كنم كه براي استفاده از اين ويژگي بايد دايركتيو AcceptPathInfo رو on كنم
    اين دايركتيو از ورژن 2.0.30 به بعد توي آپاچي موجوده و در حالي كه آپاچي من 2.2.3 هستش و من همچين دايركتيوي پيدا نكردم:(
    حتي من اين قسمتم به كانفيگيور آپاچي اضافه كردم ولي با اين حال با ارور 404 روبرو مي شم
    <Directory content>
    AcceptPathInfo On
    <Files articles>
    ForceType application/x-httpd-php
    </Files>
    <Files news>
    ForceType application/x-httpd-php
    </Files>
    </Directory>
    حالا بايد چيكار كنم؟؟
     
  2. bahy

    bahy کاربر تازه وارد

    تاریخ عضویت:
    ‏15 ژوئن 2006
    نوشته ها:
    30
    تشکر شده:
    0
    محل سکونت:
    Boroujerd
    ساسان جان در جریان هستی اصلاً htaccess واسه من نمی دونم چش شده. بنابراین خودم کار نکردم باهاش.
    اما این کد رو امتحان کن :
    کد:
    RewriteEngine On 
    Options +Followsymlinks 
    RewriteRule ^([a-zA-Z0-9_]+)(\/(index([0-9]+)\.htm)*)*$ ?u=$1&amp;page=$4 
    
    اگه خواستی بگو تا مقاله ی کامل رو بزارم. گرچه فکر می کنم خودت بلد باشی.
     
  3. jhoseinii

    jhoseinii Registered User

    تاریخ عضویت:
    ‏20 فوریه 2006
    نوشته ها:
    154
    تشکر شده:
    1
    محل سکونت:
    تهران
    آره، همین کافیه
     
  4. sasan_66

    sasan_66 کاربر تازه وارد

    تاریخ عضویت:
    ‏18 جولای 2006
    نوشته ها:
    450
    تشکر شده:
    0
    bahy اگه لطف كني مقاله رو بذاري ممنون مي شم
     
  5. bahy

    bahy کاربر تازه وارد

    تاریخ عضویت:
    ‏15 ژوئن 2006
    نوشته ها:
    30
    تشکر شده:
    0
    محل سکونت:
    Boroujerd
    چشم.
    *******************************
    با سلام
    مطمئنا خیلی از شما دنبال کدی بودید تا بتونید برای وبسایت خود URL های مجازی تعریف کنید
    با استفاده از کد زیر میتونید این کار رو مثل آب خوردن انجام بدید


    کد:
    RewriteEngine On 
    Options +Followsymlinks 
    RewriteRule ^([a-zA-Z0-9_]+)(\/(users([0-9]+)\.htm)*)*$ ?user=$1&amp;page=$4 
    



    کد بالا URL هایی مثل

    کد:
    /saeed/index10.htm 
    



    رو تبدیل میکنه به
    کد:
    users.php?user=saeed&amp;page=10 
    
    این مزیتهای بسیاری داره از جمله اینکس شدن در سایتهای جستجو

    منبع اصلی : phpmyadmin.ir
     
  6. sasan_66

    sasan_66 کاربر تازه وارد

    تاریخ عضویت:
    ‏18 جولای 2006
    نوشته ها:
    450
    تشکر شده:
    0
    كجاي كد من اشتباهه كه رو سرورم جواب نمي ده؟؟
    PHP:
    RewriteEngine On 
    Options 
    +Followsymlinks 
    RewriteRule 
    ^http:\/\/www.example.com\/([a-z]+)\/([a-z]+)\/([0-9]+)$ http://www.example.com/$1.php?category=$2&amp;id=$3
    اون قسمت http://... شم بيشتر براي محكم كاري بود كه با اين وجود جواب نداد:(
    براي اينكه كار بكنه بايد ماژوله mod_rewrite.so فعال باشه نه؟
     
  7. sasan_66

    sasan_66 کاربر تازه وارد

    تاریخ عضویت:
    ‏18 جولای 2006
    نوشته ها:
    450
    تشکر شده:
    0
    بايد اين ماژول فعال باشه؟؟
     
  8. hichkas021

    hichkas021 Registered User

    تاریخ عضویت:
    ‏7 می 2006
    نوشته ها:
    189
    تشکر شده:
    0
    محل سکونت:
    No Where
    بله . باید فعال باشه.

    برای فعال کردنش برو توی پوشه apache/conf فایل httpd.conf رو با notepad باز کن. بعد سرچ کن : mod_rewrite
    1 خط شبیه این هست :
    کد:
    #LoadModule rewrite_module modules/mod_rewrite.so
    
    کارکتر # رو از اول خط بردار و بعد فایل رو سیو کن.
     
  9. sasan_66

    sasan_66 کاربر تازه وارد

    تاریخ عضویت:
    ‏18 جولای 2006
    نوشته ها:
    450
    تشکر شده:
    0
    خوب هاست رايگاني سراغ دارين روي اون اين دايركتيو فعال باشه؟
     
  10. bahy

    bahy کاربر تازه وارد

    تاریخ عضویت:
    ‏15 ژوئن 2006
    نوشته ها:
    30
    تشکر شده:
    0
    محل سکونت:
    Boroujerd
    ببخشید از جواب دیر.
    والا من دقیق نمی دونم اما اینجا رو یه نگاهی بنداز : www.awardspace.com
     
  11. alik

    alik کاربر قدیمی پرشین تولز

    تاریخ عضویت:
    ‏23 سپتامبر 2005
    نوشته ها:
    2,148
    تشکر شده:
    1,226
    یک سئوال:

    اگر از این روش استفاده کنیم باید تمام url هایی که توی سایت بصورت دینامیک تولید میکنیم را بصورت استاتیک با فرمتی که خودمون در نظر گرفتیم تولید کنیم حالا بهترین راه حلی که بتوانیم بین این دو حالت سوئیچ کنیم بدون نیاز به تغییر کل url ها چی هست ؟

    سئوالم را ساده تر بگم:
    HTML:
    <!-- static url -->
    <a href="http://www.mysite.com/page-12.html">go to page</a>
    
    <!-- dynamic url -->
    <a href="http://www.mysite.com/page.php?id=12">go to page</a>
    
    هر دو تا url بالا یک معنی دارند و من میخوام راه حلی باشه که در صورت عدم امکان استفاده از rewrtie روی سرور بدون نیاز به تعییر کل url بتوانم بین این دوتا حالت سوئیچ کنم.
     
  12. sasan_66

    sasan_66 کاربر تازه وارد

    تاریخ عضویت:
    ‏18 جولای 2006
    نوشته ها:
    450
    تشکر شده:
    0
    خودت از اينجا هاست گرفتي؟ كد بالا رو روش تست كردي؟
     
  13. avajang.com .leftavajang.com.right
  14. jhoseinii

    jhoseinii Registered User

    تاریخ عضویت:
    ‏20 فوریه 2006
    نوشته ها:
    154
    تشکر شده:
    1
    محل سکونت:
    تهران
    دوستان، یه سولا بی ربط
    استفاده از rewrite مثلا تو کد بالا
    کد:
    <!-- static url -->
    <a href="http://www.mysite.com/page-12.html">go to page</a>
    
    <!-- dynamic url -->
    <a href="http://www.mysite.com/page.php?id=12">go to page</a>
    آیا qooqle فرق بین لینک یه صفحه html واقعی و لینکی مثل این که با mode_rewrite تبدیل شده رو نمیفهمه؟
     
  15. miladmovie

    miladmovie مدیر بازنشسته کاربر فعال

    تاریخ عضویت:
    ‏25 دسامبر 2002
    نوشته ها:
    1,936
    تشکر شده:
    2
    نه از کجا بدونه بنده خدا !!
     
  16. miladmovie

    miladmovie مدیر بازنشسته کاربر فعال

    تاریخ عضویت:
    ‏25 دسامبر 2002
    نوشته ها:
    1,936
    تشکر شده:
    2
    والا به نظر من و کاری که من کردم این بود که برای ساخت لینک
    آدرسی رو که می خواستم می دادم به یک تابع بعد با توجه به config خودش یک آدرس کامل بر می گردوند
    البته خوش بختانه از smarty استفاده می کردیم و با یک modifer که واسه smarty نوشتم مشکل خیلی راحت تر حل شد

    شاید هم راهی باشه و من اطلاع ندارم !
     
  17. balabala

    balabala کاربر قدیمی پرشین تولز

    تاریخ عضویت:
    ‏22 می 2005
    نوشته ها:
    7,351
    تشکر شده:
    1,332
    محل سکونت:
    یه خورده اونورتر
    اگر مشکل از دستورای htaccess باشه معمولا اررور میاد روی صفحه. اگرم برای ماژولای آپاچی باشه کار نمیکنه.
     
  18. balabala

    balabala کاربر قدیمی پرشین تولز

    تاریخ عضویت:
    ‏22 می 2005
    نوشته ها:
    7,351
    تشکر شده:
    1,332
    محل سکونت:
    یه خورده اونورتر
    کاری که من توی اپاچی 2.2.3 کردم و جواب داد:
    کد:
    LoadModule rewrite_module modules/mod_rewrite.so
    
    کد:
    <Directory />
        Options FollowSymLinks
        AllowOverride None
        Order deny,allow
        Deny from all
        Satisfy all
    </Directory>
    
    کد:
    <Directory "c:/www/شاخه وب">
        #
        # Possible values for the Options directive are "None", "All",
        # or any combination of:
        #   Indexes Includes FollowSymLinks SymLinksifOwnerMatch ExecCGI MultiViews
        #
        # Note that "MultiViews" must be named *explicitly* --- "Options All"
        # doesn't give it to you.
        #
        # The Options directive is both complicated and important.  Please see
        # [URL]http://httpd.apache.org/docs/2.2/mod/core.html#options[/URL]
        # for more information.
        #
        Options Indexes FollowSymLinks
        #
        # AllowOverride controls what directives may be placed in .htaccess files.
        # It can be "All", "None", or any combination of the keywords:
        #   Options FileInfo AuthConfig Limit
        #
        #AllowOverride None
        AllowOverride All
        #
        # Controls who can get stuff from this server.
        #
        Order allow,deny
        Allow from all
    </Directory>
    
     
  19. hossein_asp

    hossein_asp کاربر تازه وارد

    تاریخ عضویت:
    ‏31 مارس 2005
    نوشته ها:
    637
    تشکر شده:
    0
    محل سکونت:
    جایی که خدا نباشد
    من یه پیشنهاد دارم یکی پیش قدم بشه یه مفسر url بنویسه به جای این همه دردسر من این یه مدته از بس کد مزخرف نوشتم که کاملا تعطیل شدم با استفاده از این دوتا دستور میشه یه قالب عالیه هم میشه بهش داد.

    PHP:
    <? 
     
    $url $_SERVER['SERVER_NAME']; 
     
    $page $_SERVER["PHP_SELF"]; 
     echo 
    "http://".$url.$page.'<br />'

    ?> 
    البته باید یه فکری هم برا ارور 404 بکنه که با htaccess بشه فرستاد به جای درست درمون.
     
  20. bahy

    bahy کاربر تازه وارد

    تاریخ عضویت:
    ‏15 ژوئن 2006
    نوشته ها:
    30
    تشکر شده:
    0
    محل سکونت:
    Boroujerd
    آره.
    منم اینو یه جایی دیدم.
    شاید .. شاید بشه ازش استفاده کرد.
    من از یه ترفند ( file.php/var1=val1 در عوض file.php?var1=val1) استفاده کردم روی لوکال جواب داد اما روی هاست نه.
    mdg.mehrarian.com
    واس همین مختلش کردم.
    این روشی هم که شما میگی (با اینکه دیدم کار کرده !) اما روی همه جا کار می کنه ؟