برگزیده های پرشین تولز

دايركتيو AcceptPathInfo

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>
حالا بايد چيكار كنم؟؟
 

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

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

sasan_66

کاربر تازه وارد
تاریخ عضویت
18 جولای 2006
نوشته‌ها
450
لایک‌ها
0
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
 

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 فعال باشه نه؟
 

hichkas021

Registered User
تاریخ عضویت
7 می 2006
نوشته‌ها
190
لایک‌ها
0
محل سکونت
No Where
بايد اين ماژول فعال باشه؟؟

بله . باید فعال باشه.

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

sasan_66

کاربر تازه وارد
تاریخ عضویت
18 جولای 2006
نوشته‌ها
450
لایک‌ها
0
خوب هاست رايگاني سراغ دارين روي اون اين دايركتيو فعال باشه؟
 

bahy

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

alik

کاربر قدیمی پرشین تولز
تاریخ عضویت
23 سپتامبر 2005
نوشته‌ها
2,146
لایک‌ها
1,232
یک سئوال:

اگر از این روش استفاده کنیم باید تمام 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 بتوانم بین این دوتا حالت سوئیچ کنم.
 

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 تبدیل شده رو نمیفهمه؟
 

miladmovie

مدیر بازنشسته
کاربر فعال
تاریخ عضویت
25 دسامبر 2002
نوشته‌ها
1,939
لایک‌ها
3
سن
39
دوستان، یه سولا بی ربط
استفاده از 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 تبدیل شده رو نمیفهمه؟
نه از کجا بدونه بنده خدا !!
 

miladmovie

مدیر بازنشسته
کاربر فعال
تاریخ عضویت
25 دسامبر 2002
نوشته‌ها
1,939
لایک‌ها
3
سن
39
یک سئوال:

اگر از این روش استفاده کنیم باید تمام 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 بتوانم بین این دوتا حالت سوئیچ کنم.
والا به نظر من و کاری که من کردم این بود که برای ساخت لینک
آدرسی رو که می خواستم می دادم به یک تابع بعد با توجه به config خودش یک آدرس کامل بر می گردوند
البته خوش بختانه از smarty استفاده می کردیم و با یک modifer که واسه smarty نوشتم مشکل خیلی راحت تر حل شد

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

balabala

کاربر قدیمی پرشین تولز
کاربر قدیمی پرشین تولز
تاریخ عضویت
22 می 2005
نوشته‌ها
8,362
لایک‌ها
5,745
سن
41
محل سکونت
یه خورده اونورتر

balabala

کاربر قدیمی پرشین تولز
کاربر قدیمی پرشین تولز
تاریخ عضویت
22 می 2005
نوشته‌ها
8,362
لایک‌ها
5,745
سن
41
محل سکونت
یه خورده اونورتر
اگر مشکل از دستورای htaccess باشه معمولا اررور میاد روی صفحه. اگرم برای ماژولای آپاچی باشه کار نمیکنه.
کاری که من توی اپاچی 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>
 

hossein_asp

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

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

?>

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

bahy

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