آگهی
article

نحوه دوباره نویسی لینک (URL Rewrite) در htaccess

web-url-rewrite

دوباره نویسی لینک ها (آدرس های اینترنتی) یا (url rewrite)، تکنیکی است که اغلب توسط آگاهان علم سئو (Search Engine Optimization)، توصیه شده و مورد استفاده قرار می گیرد، چرا که امروزه اغلب آدرس های اینترنتی به دلیل اینکه به صورت داینامیک و مبتنی بر پایگاه داده ایجاد می شوند، دارای متغیر ها و مقادیر مربوط به پرس و جوی پایگاه داده هستند، مثلا در بیشتر سیستم هایی که به زبان php یا asp نوشته می شوند، در بین لینک ها باید از علامت ? و = استفاده شود و این چیزی است که به گفته آگاهان، علم سئو آن را نمی پسندد، البته اینکه واقعا لینک های داینامیک در مقابل لینک های استاتیک تا چه میزان روی عملکرد یک سایت تاثیر گذار است، خود جای بحث دارد، اما به دلایل دیگر شاید هنوز ضرورت استفاده از لینک های استاتیک احساس شود، به هر صورت این مطلب را به آموزش نحوه دوباره نویسی لینک (url rewrite) در htaccess اختصاص داده ایم.

ضرورت استفاده از لینک های استاتیک


شاید در ذهن خیلی از برنامه نویسان وب و مدیران سایت ها، این سوال وجود داشته باشد که آیا باید حتما از لینک های استاتیک استفاده شود؟ پاسخ به این پرسش بستگی زیادی به هدف و میزان تسلط و آشنایی شما با برنامه ای است که از آن برای مدیریت سایت خود استفاده می کنید، دلایلی برای استفاده از لینک های استاتیک ارائه می شود از جمله اینکه به لحاظ حفظ امنیت این گونه لینک ها از ضریب اطمینان بالاتری برخوردارند، چرا که لینک های داینامیک معمولا ساختار مشخصی دارند و این ساختار در معرض دید کاربران است، اما با دوباره نویسی آدرس ها، ساختار لینک ها تا حدود بسیار زیادی پیچیده و نامفهوم می شود، دلیل دیگر کوتاه شدن لینک و حذف علامت های ?، & و = از آن است، البته پیش تر تصور بر این بود که موتورهای جستجو قادر به ایندکس صفحات داینامیک نیستند که البته در حال حاضر این تصور کاملا اشتباه است، تمام موتورهای جستجوی معروف به خوبی لینک های داینامیک را ایندکس می کنند، منتها لینک های استاتیک به دلیل کوتاه تر بودن و حذف موارد زائد، توصیه شده اند، مزیت بعدی که گفته می شود این است که لینک های استاتیک راحت تر به خاطر سپرده می شوند و در موتور های جستجو، آمار کلیک بهتری کسب می کنند، البته قسمت اول این گفته بستگی زیادی به تعداد کاراکتر یک لینک دارد (هر چه کوتاه تر، بهتر) و قسمت دوم نیز بین یک لینک داینامیک با پارامترهای مناسب و کوتاه و یک لینک استاتیک مشابه، آنچنان فرق محسوسی نیست؛ حال با این تفاسیر کدام روش را انتخاب کنیم؟ همانطور که گفتیم این امر بستگی زیادی به هدف شما دارد، اگر به فرض رقابت با سایرین از لحاظ جذب بازدید کننده برایتان اهمیت زیادی دارد و سایر اصول مربوط به بهینه سازی را نیز رعایت کرده اید، توصیه می کنیم این یک مورد را هم فرا بگیرید و با رعایت اصول و جوانب فنی، از آن استفاده نمائید، اما اگر به طور مثال یک سایت اداری یا شخصی را مدیریت می کنید و جوانب امنیتی پایگاه داده را هم رعایت کرده اید، دوباره نویسی لینک ها چندان ضرورتی نخواهد داشت، کما اینکه بسیاری از سایت های موفق هستند که از لینک های داینامیک استفاده می کنند و مشکل خاصی نیز برای آنها از این لحاظ پیش نمی آید، بنابراین همه چیز بستگی به خودتان دارد.

نکاتی که در دوباره نویسی  لینک (url rewrite) باید رعایت کنیم


باید یادآور شویم که دوباره نویسی لینک های داینامیک (url rewrite) کار حساسی است و باید با دقت و تسلط کامل انجام شود، اشتباه در این خصوص ممکن است باعث بروز مشکلاتی از جمله ایجاد مطالب تکراری (duplicate content) و یا موجب اختلال در عملکرد سایت شود، البته خوشبختانه تغییرات فایل htaccess به سرعت قابل بازگشت به حالت سابق است، چون سرور در هربار پردازش اطلاعات، آن را به طور مجدد فرا می خواند؛ اما با این حال این کار باید با در نظر گرفتن تمام احتمالات و آزمایش های قبلی صورت گیرد.

آشنایی با mod_rewrite در سرور Apache


دوباره نویسی یا  rewrite لینک ها در سرورهای لینوکسی Apache با ماژولی به نام mod_rewrite انجام می شود، این ماژول تقریبا یکی از محبوب ترین، قدرتمند ترین و پرکاربردی ترین ها در این نوع سرورها محسوب می شود، قدرت mod_rewrite در حدی است که هر نوع دستکاری در ساختار لینک های سایت توسط آن میسر می شود، اصول کار این ماژول بر اساس عبارات با قاعده یا Regular Expressions است که قوانین خاصی در آن با این روش تعریف می شود (RewriteRule)، اگرچه گستره قواعد و خاصیت های این ماژول بسیار زیاد است، اما برای استفاده های معمول، می توان با فراگیری چند تکنیک ساده، نیازهای خود را برطرف نمود؛ این قابلیت در بیشتر سرورهای Apache به صورت پیش فرض فعال است، اما اگر هاست شما از آن پشتیبانی نمی کند، می توانید موضوع را با پشتیبان خود مطرح کنید، نصب و استفاده از این ماژول بسیار آسان و پرکاربرد است و معمولا هاست ها آن را فعال می کنند.

mod_rewrite در سرور ویندوز


در سرورهای ویندوز، ماژول mod_rewrite وجود ندارد، ولی با پلاگین های دیگری می توان عملیات دوباره نویسی لینک ها را شبیه سازی کرد، به فرض پلاگینی با نام  ISAPI_Rewrite در سرورهای ویندوز می تواند رهگشا باشد.

نحوه دوباره نویسی لینک (url rewrite)


برای دوباره نویسی آدرس های وب، قبل از هر چیز به یک فایل متنی ساده به نام htaccess. (به همین صورت، با پسوند htaccess و بدون نام) در ریشه سایت خود (پوشه www یا public_html) نیاز خواهیم داشت، اگر فایل htaccess. به طور پیش فرض در سرور شما وجود ندارد، می توانید به راحتی آن را ایجاد کنید، دقت کنید که نقل و انتقال این فایل به سرور باید به صورت ASCII انجام شود، نه باینری (BINARY)، سپس مطابق نیاز خود باید دستوراتی که در ادامه خواهیم گفت را در آن درج و تنظیم نمائید.
اجازه دهید آموزش را با یک مثال ادامه دهیم، فرض کنید آدرس زیر را می خواهیم دوباره نویسی کنیم.
http://yoursite.com/index.php?q=home
هدف ما این است که آدرس بالا را به صورت زیر درآوریم، یعنی با وارد کردن آدرس زیر، در واقع سرور پارامترهای لینک بالا را در پس زمینه و به طور پنهانی دریافت کند.
http://yoursite.com/home
بدین منظور ابتدا ماژول mod_rewrite را روشن می کنیم، سپس از قوانین آن استفاده کرده و با عبارات با قاعده (در ادامه بیشتر خواهیم گفت)، یک قانون (RewriteRule) می نویسیم تا وقتی سرور لینک درخواستی را با آن مطابقت داد، قانون ما عمل کرده و لینک اصلی در پس زمینه دریافت شود.
RewriteEngine On
RewriteRule ^home /index.php?q=home [NC,L]
با کپی عبارت بالا در فایل htaccess. و قرار دادن آن در ریشه سایت، سرور آدرس دریافتی را بررسی و اگر با قانون تعریف شده مطابقت داشته باشد، لینک اصلی را تعریف می کند، اگر این کار را درست انجام ندهید، معمولا خطای داخلی سرور با کد 500 یا همان HTTP Error 500 Internal server error را دریافت خواهید کرد.
قانون بالا از دو قسمت تشکیل شده است، در بخش اول شرایط لینک دریافتی بررسی می شود، اگر با الگو (pattern) مطابقت داشت، لینک استاتیک دریافتی تبدیل به لینک داینامیک قسمت دوم (substitution یا جانشین) می شود، در واقع اگر در لینک استاتیک عبارت home وجود داشته باشد، سرور آن را به صورت  index.php?q=home شناسایی می کند؛ علامت های شبیه ^ معنی خاصی دارند که به آنها در اصطلاح عبارات با قاعده یا Regular Expressions می گویند، حروف [NC,L] نیز معانی خاصی در زمینه نحوه پردازش قوانین دارند و با این روش نوع اعمال قوانین را به سرور تفهیم می کنیم، به طور مثال NC به معنی case-insensitive یا حساس نبودن به حروف بزرگ و کوچک است، یا حرف L به معنی Last و آخرین است، یعنی اگر این قانون اجرا شد، بقیه قوانین بعد از آن نادیده گرفته می شوند، به این حروف در اصطلاح نشانه ها یا Flags می گویند.

توضیح مختصر عبارات با قاعده در htaccess


برای کاربرد صحیح قوانین دوباره نویسی، باید آشنایی مختصری با عبارات با قاعده داشته باشیم، در زیر چند عبارت پرکاربرد همراه معنی آن ذکر شده است.
Anchors یا لنگرها: لنگرها شروع و پایان یک رشته را مشخص می کنند، به فرض الگوی زیر، به معنی کلیه لینک هایی است که بعد از آدرس سایت، قسمت دوم آنها، با اعداد (0 تا 9) شروع می شود.
^([0-9]+)/
الگوی بالا با لینک فرضی زیر مطابق خواهد بود.
http://www.yoursite.com/143231/
علامت ^ هر آنچه پیش از آن آمده باشد را شامل می شود، همچنین است علامت $ که به معنی پایان یک رشته است.
دسته بندی ها یا Character Classes: نوع دیگر از حروف با قاعده با علامت های w ،s ،W ، d و... (حساس به حروف بزرگ یا کوچک) تعریف می شوند، به فرض علامت d\ با اعداد (0-9) مطابقت دارد، یا w\ به معنی حروف و اعداد انگلیسی است، همچنین W\ شامل همه چیز به جزء حروف و اعداد می شود، s\ (با حروف کوچک) نیز به معنی فضای خالی است.
تاکیدات یا Assertions: یک نوع دیگر از عبارات با قاعده، تاکیدات هستند، به اینصورت که اگر به فرض لینک دریافتی را برای وجود حرف a بررسی کرده و در عین حال بخواهیم بعد از حرف a کلمه فرضی book نیز نیامده باشد، خواهیم نوشت:
[^\S]*a(?!book)[^\S]*
قسمت مربوط به حرف S (با حروف بزرگ) در اینجا به معنی عدم فاصله خالی در عبارت است، سپس وجود حرف a بررسی می شود و بعد از آن، عدم وجود کلمه book و سپس نبودن فضای خالی، اگر لینک ارسالی از این الگو پیروی کند، قسمت دوم قانون اجرا می شود.
گروه و حدود: یکی از پر کاربرد ترین عبارات با قاعده گروه ها و حدود هستند، به فرض اگر بخواهیم بررسی کنیم که آیا در رشته ای، عباراتی بین اعداد 0 تا 9 یا حروف a تا z قرار دارد یا خیر، خواهیم نوشت:
[^A-Za-z0-9]
علامت یا (|): علامت یا (|) نیز در عبارات با قاعده کاربرد زیادی دارد، به فرض عبارت زیر به معنی وجود حروف web یا goo در رشته ارسالی است.
(web|goo)
در واقع عبارات با قاعده تنوع زیادی دارند و یادگیری تمام آنها در این مطلب نمی گنجد، در اینجا هدف فقط، آشنایی نسبی شما با عملکرد و منظور از به کارگیری آنها است.

چند مثال کاربردی برای دوباره نویسی آدرس های وب


به دلیل پیچیده به نظر رسیدن موضوع در نگاه اول، شاید بهترین روش برای یادگیری نحوه دوباره نویسی لینک ها در htaccess، استفاده از مثال های کاربردی باشد، با این شیوه هم با نحوه اعمال دستورات آشنا خواهیم شد و هم می توانیم از مثال ها، در برنامه خود استفاده کنیم.

- انتقال آدرس از index.html به index.php


RewriteEngine On
RewriteCond %{THE_REQUEST} ^[A-Z]{3,9}\ /index\.html
RewriteRule ^index\.html$ http://yoursite.com/index.php [R=301,L]
RewriteCond در واقع نقش دستورات شرطی را در mod_rewrite بازی می کند، همانطور که ملاحظه می کنید، پارامتر THE_REQUEST نیز در این ماژول قابل دسترسی است، این پارامتر همان قسمت بعد از آدرس اصلی سایت، در یک لینک درخواستی است (در اینجا index.html)، کد بالا به این نحو تفسیر می شود:
اگر در لینک درخواستی، حروف A تا Z یا اعداد 0 تا 9 وجود داشت و برابر با index.html بود، قانون بعدی اجرا شده و با R=301 که به معنی ریدایرکت همیشگی یا (Moved Permanently) است، کاربر به آدرس http://yoursite.com/index.php منتقل شود.
علامت $ یک نوع لنگر و به معنی پایان یک عبارت است (برعکس ^ و در انتهای عبارت).

- دوباره نویسی آدرس داینامیک با یک پارامتر متنی


در این مثال یک آدرس داینامیک را که یک متغیر متنی دارد، دوباره نویسی می کنیم.
RewriteEngine On
RewriteRule ^category/([^/]+) /?category=$1 [NC,L]
در این مثال لینک فرضی http//yoursite.com/category/learn در سرور به صورت http//yoursite.com/?category=learn تبدیل می شود، همانطور که ملاحظه می کنید، قسمت دوم الگو (کلمه learn) به صورت 1$ برای حالت داینامیک تنظیم می شود که این یک قانون تعریف شده در mod_rewrite برای تعیین متغیر ها و مقادیر آنها است.

- دوباره نویسی آدرس داینامیک با یک پارامتر عددی


در این مثال یک آدرس داینامیک را که یک متغیر عددی دارد، دوباره نویسی می کنیم.
RewriteEngine On
RewriteRule ^category/([0-9]+) /?category=$1 [NC,L]
به فرض لینک http//yoursite.com/category/5 به صورت http//yoursite.com/?category=5 دریافت می شود.

- دوباره نویسی یک آدرس داینامیک با دو پارامتر متنی و عددی


در این مثال یک آدرس داینامیک را که دو متغیر متنی و عددی دارد، دوباره نویسی می کنیم.
RewriteEngine On
RewriteRule ^category/([0-9]+)/([^/]+) /?category=$1&title=$2 [NC,L]
دستور بالا به فرض لینک http//yoursite.com/category/5/learn-web را به صورت http//yoursite.com/?category=5&title=learn-web دوباره نویسی خواهد کرد.

- انتقال از آدرس های غیر اصلی به آدرس اصلی


در مثال زیر، دستوری را تنظیم کرده ایم که با آن، اگر کاربر در لینک ورودی عبارت www را تایپ نکرده باشد، او را به آدرس با www هدایت کنیم.
RewriteEngine On
RewriteCond %{HTTP_HOST} !^www\.yoursite\.com$ [NC]
RewriteRule .? http://www.yoursite.com%{REQUEST_URI} [R=301,L]
دستورات HTTP_HOST، REQUEST_URI مربوط به سربرگ های HTTP و سرور Apache هستند، نمونه آنها را در php نیز دیده ایم، به فرض HTTP_HOST در واقع آدرس اصلی سایت است، یا REQUEST_URI قسمت بعد از آدرس سایت است که توسط کاربر درخواست می شود.
همانطور که گفتیم، دوباره نویسی لینک ها باید با دقت بالا انجام شود، اشتباه در نحوه چینش قانون ها، مخصوصا در مورد قوانین مشابه، ممکن است موجب بروز اختلال در عملکرد سایت شده، یا سبب بروز مشکل مطالب تکراری (duplicate content) گردد، بهتر است در این خصوص بر تکنیک ریدایرکت 301 (Moved Permanently) نیز تسلط کافی داشته باشید و قبل از اعمال تغییرات در ساختار لینک های سایت، حتما همه ی جوانب را تست کنید.
sectionدسته بندی: مهارتهای وب » بهینه سازی
related مطالب بیشتر:
» پیج رنک چیست و چگونه می توان آن را افزایش داد؟
» حل مشکل محتوای تکراری (Duplicate Content) در سایت
» نحوه استفاده از فایل robots.txt در سایت
» چگونه سایت یا وبلاگ را برای موتورهای جستجو بهینه سازی کنیم؟
» چرا برخی سایت ها و وبلاگ ها رتبه الکسای بهتری دارند؟
commentنظرات (۱۶۲ یادداشت برای این مطلب ارسال شده است)
more یادداشت های جدید بر اساس تاریخ ارسال در انتهای یادداشت های موجود نمایش داده می شوند.
نویسنده: giasi
زمان: ۱۸:۴۳:۵۶ - تاریخ: ۱۳۹۲/۰۳/۲۴
لطفا راهنمایی کنید من اینو نوشتم ببینید اشتباهی داره چون اعمالی هایی که می خوام انجام نمیشه
Options All -Indexes

RewriteEngine on
RewriteCond %{HTTP_HOST} !^www.seo-web.IR$ [NC]
RewriteRule ^(.*) http://www.seo-web.IR/$1 [QSA,L,R=301]

RewriteBase /
RewriteCond %{HTTP_REFERER} !^$
RewriteCond %{HTTP_REFERER} !^http://(www.)?seo-web.ir/.*$ [NC]
RewriteRule .(gif|jpg|swf|flv|png)$ /feed/ [R=302,L]

<IfModule mod_rewrite.c>
RewriteCond %{REQUEST_URI} /+[^\.]+$
RewriteRule ^(.+[^/])$ %{REQUEST_URI}/ [R=301,L]
</IfModule>

<FilesMatch “.(flv|gif|jpg|jpeg|png|ico|swf|js|css|pdf)$”>
Header set Cache-Control “max-age=2592000?
</FilesMatch>


# BEGIN Compress text files
<ifModule mod_deflate.c="mod_deflate.c">
<filesMatch "\.(css|js|x?html?|php)$"=""\.(css|js|x?html?|php)$"">
SetOutputFilter DEFLATE
</filesMatch>
</ifModule>

# END Compress text files
# BEGIN Expire headers
<ifModule mod_expires.c="mod_expires.c">
ExpiresActive On
ExpiresDefault "access plus 1 seconds"
ExpiresByType image/x-icon "access plus 2592000 seconds"
ExpiresByType image/jpeg "access plus 2592000 seconds"
ExpiresByType image/png "access plus 2592000 seconds"
ExpiresByType image/gif "access plus 2592000 seconds"
ExpiresByType application/x-shockwave-flash "access plus 2592000 seconds"
ExpiresByType text/css "access plus 604800 seconds"
ExpiresByType text/javascript "access plus 216000 seconds"
ExpiresByType application/javascript "access plus 216000 seconds"
ExpiresByType application/x-javascript "access plus 216000 seconds"
ExpiresByType text/html "access plus 600 seconds"
ExpiresByType application/xhtml+xml "access plus 600 seconds"
</ifModule>

# END Expire headers
# BEGIN Cache-Control Headers
<ifModule mod_headers.c="mod_headers.c">
<filesMatch "\.(ico|jpe?g|png|gif|swf)$"=""\.(ico|jpe?g|png|gif|swf)$"">
Header set Cache-Control "max-age=2592000, public"
</filesMatch>

<filesMatch "\.(css)$"=""\.(css)$"">
Header set Cache-Control "max-age=604800, public"
</filesMatch>

<filesMatch "\.(js)$"=""\.(js)$"">
Header set Cache-Control "max-age=216000, private"
</filesMatch>
<filesMatch "\.(x?html?|php)$"=""\.(x?html?|php)$"">
Header set Cache-Control "max-age=600, private, must-revalidate"
</filesMatch>
</ifModule>

# END Cache-Control Headers
# BEGIN Turn ETags Off
<ifModule mod_headers.c="mod_headers.c">
Header unset ETag
</ifModule>
FileETag None

# END Turn ETags Off
<ifModule mod_headers.c="mod_headers.c">
Header set Connection keep-alive
</ifModule>

<IfModule mod_headers.c="mod_headers.c">
<FilesMatch "\.(js|css|xml|gz)$"=""\.(js|css|xml|gz)$"">
Header append Vary: Accept-Encoding
</FilesMatch>
</IfModule>

# BEGIN Remove Last-Modified Header
<ifModule mod_headers.c="mod_headers.c">
Header unset Last-Modified
</ifModule>

# END Remove Last-Modified Header

DirectoryIndex defaltt.php

ErrorDocument 404 /404.html
ErrorDocument 401 /404.html
ErrorDocument 403 /404.html
ErrorDocument 500 /404.html
پاسخ: 
سلام
لطفا مشکلتان را دقیق تر توضیح دهید، صرف درج کدها و دستورات آماده کمکی نمی کند! در کدام قسمت و برای چه کاری دچار مشکل می شوید؟
نویسنده: قیاسی
زمان: ۰۸:۴۶:۴۴ - تاریخ: ۱۳۹۲/۰۳/۲۵
سلام
بله شما درست میگید شما این کاره اید من توضیح ندادم و سریع رفتم کد گذاشتم و ایرادشو بگید
قالب html خودم طراحی کردم بعد روت کردن روی هاست اومدم .htaccess
نوشتم و نصب کردم
البته بقیه دستورات چک نکردم یعنی وقت نشد و با سرعت دستورات نوشتم
دستور دامنه با www اوکی شده اما کمپرس هم عکس و استیل شیت و جاوا اسکریپ دستورش اعمال نشده
3 تا سوال
1- حالت کوچک و بزرگ بودن این دستور اشتباه داره چون خودم نوشتم با برنامه ننوشتم
2- چرا کمپرس یا gzip اعمال نشده رو حالت اصلی صفحه
3- من تمامی صفحات ارور به 404 دادم اینکار اشتباه هست
پاسخ: 
سلام
در پاسخ سوال اول، اگر از علامت NC استفاده کنید، کوچک یا بزرگ بودن حروف مهم نیست، البته توصیه می شود آدرس های اینترنتی با حروف کوچک باشند (مگر در مورد بخش غیر انگلیسی آدرس های UTF-8 مانند آدرس های سایت های فارسی زبان)
در مورد سوال دوم، فعال بودن gzip در درجه اول به فعال بودن این امکان در سرور و پشتیبانی از آن ارتباط دارد، برای اطمینان دستور زیر را در یک فایل php اجرا کنید یا از طریق کنترل پنل، اطلاعات نسخه PHP خود را در مورد gzip بررسی کنید:
<?php phpinfo(); ?>
نکته دیگر اینکه دستور شما کامل نیست، باید بعد از
AddOutputFilterByType DEFLATE
نوع فایل ها را بر اساس استاندارد MIME مشخص کنید، مثال:
<IfModule mod_filter.c>
AddOutputFilterByType DEFLATE application/atom+xml \
application/javascript \
application/json \
application/rss+xml \
application/vnd.ms-fontobject \
application/x-font-ttf \
application/x-web-app-manifest+json \
application/xhtml+xml \
application/xml \
font/opentype \
image/svg+xml \
image/x-icon \
text/css \
text/html \
text/plain \
text/x-component \
text/xml
</IfModule>
، البته به طور مستقیم و از کنترل پنل هاست نیز امکان فعال کردن gzip وجود دارد، و در پاسخ به سوال سوم، اگر بحث بهینه سازی برایتان مهم است، بله، کاملا! خطا ها در وب مخصوصا در مورد رعایت SEO اهمیت زیادی دارند، اینکه چه کد وضعیت HTTP در پاسخ به یک ربات ارسال شود، می تواند در عملکرد آن تاثیر مستقیم بگذارد، به فرض تنظیم خطای 404 (به معنی پیدا نشدن صفحه درخواستی) برای حالتی که سرور Down شده کار صحیحی نیست و ممکن است مطالب ایندکس شده را از لیست جستجو حذف کند!
نویسنده: قیاسی
زمان: ۲۰:۱۰:۱۴ - تاریخ: ۱۳۹۲/۰۳/۲۶
لطف میکنید ادیت بزنید
من هر کاری کردم نشد
پاسخ: 
متاسفانه به دلیل کمبود فرصت این امکان وجود ندارد.
می توانید این امکان را مستقیما از کنترل پنل هاست فعال کنید، برای کسب اطلاعات بیشتر لطفا با پشتیبانی هاست خود موضوع را مطرح کنید.
نویسنده: مهسا محمدپور
زمان: ۱۰:۰۸:۵۹ - تاریخ: ۱۳۹۲/۰۸/۲۳
استاد گرامی سلام. من برای تکمیل پروژه دانشجوییم احتیاج به کمک شما دارم.
استادم گفته که کدی بنویس که به صورت خودکار علامت ( و ) و * و فضای خالی و > و < رو به صورت خودکار از url حذف کنه.
مثلا آدرس
http://site.com/news/12 *(c<>ode)
رو به
http://site.com/news/12code
تبدیل کنه.
من فکر می کنم که همچین موردی رو باید در فایل htaccess بنویسم. خوشحال می شم لطف کنید و بهم کمک کنید.
و یه سوال دیگه: خواستم ببنیم کد
RewriteCond %{REQUEST_URI} (/[^.]*|\.(php))$  [NC]
به چه دردی می خوره؟
ممنون.
پاسخ: 
سلام
معمولا مرحله معتبر سازی آدرس های URL قبل از ایجاد و انتشار آنها باید صورت گیرد، لذا htaccess در اینجا کاربردی ندارد، باید از یک تابع در PHP استفاده کنید، به طور مثال:
<?php
function CleanURL($url){
$url = str_replace(' ', NULL, $url);
$url = str_replace(')', NULL, $url);
$url = str_replace('(', NULL, $url);
$url = str_replace('>', NULL, $url);
$url = str_replace('<', NULL, $url);
$url = str_replace('*', NULL, $url);
return $url;
}
//فراخوانی
$url = 'http://site.com/news/12 *(c<>ode)';
echo CleanURL($url);
?>
در مورد سوال دوم، این یک Rewrite Condition یا دستور شرطی است که ابتدا بررسی می شود، اگر مطابق الگو بود، سپس خط بعد از آن پردازش می شود، طبق این الگو REQUEST_URI که همان آدرس لینک درخواستی (به جزء قسمت مربوط به آدرس اصلی سایت) است، اگر به هر کاراکتری یا به php. ختم شود، شرط برقرار است (به نظر این شرط لینک صفحه اصلی سایت را تعریف می کند)!
نویسنده: مهسا محمدپور
زمان: ۲۲:۱۷:۵۳ - تاریخ: ۱۳۹۲/۰۸/۲۳
از پاسخ شما متشکرم. خیلی عالی بود. اما کد به صورت کامل کار نمی کنه؟
من کدها رو در فایلم به صورت زیر نوشتم:
$rs = strtolower($_SERVER['REQUEST_URI']);
function CleanURL($url){
$url = str_replace(' ', NULL, $url);
$url = str_replace(')', NULL, $url);
$url = str_replace('(', NULL, $url);
$url = str_replace('<', NULL, $url);
$url = str_replace('>', NULL, $url);
$url = str_replace('*', NULL, $url);
return $url;
}

$rs = CleanURL($rs);
if(substr($rs,0,5)=='/news'){$CnU=1;}
و ادامه کد ...
حالا که آدرس
site.com/new(())s
یا
site.com/new**(s
رو وارد می کنم صفحه به صورت کامل نمایش داده میشه و یعنی اینکه کد درست کار می کنه اما وقتی آدرس
site.com/new<>s
یا
site.com/new s
رو وارد می کنم سایت بالا نمیاد. یعنی کدها برای فضای خالی و > و < کار نمی کنه. آیا من توی کدنویسی اشتباهی کردم؟
پاسخ: 
همان طور که گفتیم لینک با کاراکترهای غیر مجاز نباید در سایتتان منتشر شود تا بخواهید بعدا آن را تبدیل کنید، در واقع در مرحله ایجاد لینک باید این کاراکترها را حذف کنید نه در مرحله استفاده از لینک، URL یک آدرس تعریف شده است که پس از ایجاد حتی الامکان باید ثابت باقی بماند، لذا اینکه آدرسی حاوی کاراکترهای اضافه تولید، منتشر و سپس بخواهید آنها را حذف کنید صحیح نیست؛ با توجه به این مطلب در مرحله ایجاد لینک تابع فوق کاربرد دارد، برای خطایابی کافی است از دستور echo ساده استفاده کرده و خروجی را بررسی کنید، به نظر مشکل از جای دیگری است و ارتباطی به عملکرد تابع ندارد، تابع یک مقدار می گیرد و پس از حذف کاراکترهای غیر مجاز، مقدار جدید را بر می گرداند.
نویسنده: مهسا محمدپور
زمان: ۱۵:۵۰:۲۴ - تاریخ: ۱۳۹۲/۰۸/۲۴
از وقتی که برای سوالم گذاشتین ممنونم.
نویسنده: Morteza
زمان: ۲۳:۱۸:۱۱ - تاریخ: ۱۳۹۲/۰۹/۰۵
سلام و تشکر از مطلب مفیدتان
با توجه به آموزش میخواهم انتقالی به شکل زیر داشته باشم
RewriteRule ^dashbord/folders/([^/]+)/([^/]+) /users.php?act=plan&cat=$1&page=$2 [NC,L]
انتقال درست است و لینک مورد نظر خوانده میشود اما گویا css خوانده نشده و علاوه بر نمایش داده نشدن هیچ تصویری در صفحه، هیچ استایلی فعال نیست
پاسخ: 
سلام
چند راه حل برای این مشکل وجود دارد:
- آدرس فایل ها را به صورت مطلق (کامل) تعریف کنید، به فرض به جای
../style/file.css
حالت زیر را قرار دهید:
http://yoursite.com/style/file.css

- از تگ base استفاده کنید، مثال:
 <base href="http://yoursite.com/style/" >

- یک راه حل پیچیده تر این است که در صورت امکان برای فایل ها نیز آدرس url rewrite تعریف کنید.
نویسنده: امیرحسین
زمان: ۱۶:۴۹:۱۵ - تاریخ: ۱۳۹۲/۰۹/۰۸
سلام مرسی از مطلب خوب شما
من در سایتم که اپن کارت هست . در فایل htaccess ماژول mod-rewrite رو فعال کردم اصلاح شد . آدرس های جدید من ساخته شد اما مشکل من این هست که آدرس های قدیمی من حذف یا اصطلاحا ریدایرکت نشدن روی آدرس جدید یعنی هم آدرس جدید می آید بالا و هم آدرس قدیم که این همان duplicate content هست . ممنون می شم بگید باید چی کار کنم که دیگه آدرس های قبلی نمایش داده نشه و هر کی زد آن صفحه رو بیفته رو آدرس های جدید
مرسی
پاسخ: 
سلام
لطفا عبارت "duplicate content" و "301" را در قسمت جستجوی سایت وارد کنید، در مطالبی جداگانه به صورت مفصل در این خصوص صحبت شده.
نویسنده: مرتضی
زمان: ۲۲:۰۵:۴۶ - تاریخ: ۱۳۹۲/۰۹/۱۳
ضمن سلام و ممنون از آموزش های خوبتون
من هر کاری کردم نتونستم واسه لینک زیر:
www.site.com/test.php?cat1=realstate&cat2=1
کدی رو تو htaccess بسازم که به صورت لینک زیر عمل کنه:
www.site.com/realstate/1
ممنون می شم کمک کنید.
با سپاس فراوان
پاسخ: 
سلام
می توانید از یکی از نمونه های زیر استفاده کنید:
RewriteRule ^([^/]+)/([0-9]+) /test.php?cat1=realstate&cat2=$2 [NC,L]
حالت دوم:
RewriteRule ^realstate/([0-9]+) /test.php?cat1=realstate&cat2=$1 [NC,L]
هر چند بهتر است عبارت test نیز در آدرس لینک به عنوان دایرکتوری قید شود (تا در تقسیم بندی لینک های سایر بخش های سایت دچار مشکل نشوید).
نویسنده: با سلام
زمان: ۰۲:۰۰:۴۸ - تاریخ: ۱۳۹۲/۰۹/۱۶
با سلام
من میخوام الگوی زیر رو
http://www.sitename.com/viewads.php?adsid=115&title=harchi
به صورت زیر دربیاد تبدیل بشه
http://www.sitename.com/ads/115/harchi
لطفا راهنمایی کنید
پاسخ: 
سلام
الگوی زیر مطابق با نیاز شما است:
RewriteRule ^ads/([0-9]+)/([^/]+) /viewads.php?adsid=$1&title=$2
نویسنده: محمد از قائمشهر
زمان: ۲۳:۲۶:۱۹ - تاریخ: ۱۳۹۲/۰۹/۲۹
بسیار متشکرم از مطالب مفید و آموزنده تون ..
واقعا خسته نباشید عزیزان خدا قوت
نویسنده: حسین
زمان: ۲۳:۲۱:۱۲ - تاریخ: ۱۳۹۲/۱۰/۱۲
سلام
من هاستم رو عوض کردم و تمام بک آپ ها رو کامل روی هاست جدید آوردم ولی الان اسلایدرم کار نمیکنه و یک خطایی میده، یه نفر می گفت چون هاست قبلی سی پنل بوده و الانی دایرکته ایم مشکله و باید آدرس فایل اچ تی اکسس رو عوض کنم
واقعا خسته شدم کمکم کنین
ارورش اینه:
Warning: file_exists() [function.file-exists]: open_basedir restriction in effect. File(/home/moshaver/public_html/byweb.ir/wp-content/uploads/et_temp/slider2-71224_48x48.jpg) is not within the allowed path(s): (/home/byweb/:/tmp:/var/tmp:/usr/local/lib/php/) in /home/byweb/domains/byweb.ir/public_html/wp-content/themes/TheProfessional/epanel/custom_functions.php on line 747
پاسخ: 
سلام
این سوال مربوط به سیستم مدیریت محتوای وردپرس است و باید در انجمن های مربوطه مطرح شود، به نظر راه حل مشکل صرفا به htaccess ارتباط ندارد و باید تنظیمات و تغییرات دیگری نیز انجام دهید.
نویسنده: siyavash-salari
زمان: ۰۴:۳۱:۵۱ - تاریخ: ۱۳۹۲/۱۰/۲۷
با سلام :
میتونین در باره این موضوع کمکم کنید ؟
من تو هاستم یه فولدر دارم که درون اون فولدر تعدادی صفحه ساختم میخوام کاربرام ادرس صفحه رو به این صورت مشاهده کنن
mysite.com/users/index.php?user=jafar
در حال حاضر ادرس رو به این صورت مشاهده میکنن
mysite.com/users/jafar.php
من پی اچ پی بلد نیستم
ممنون میشم کمکم کنید
پاسخ: 
سلام
یک فایل htaccess. در ریشه سایتتان بسازید (یا اگر از قبل وجود دارد آن را ویرایش کنید) و دستورات زیر را در آن قرار دهید:
RewriteEngine On
RewriteRule ^users/index.php?user=([^/]+) /users/$1.php [NC,L]
نویسنده: میثم
زمان: ۱۳:۱۹:۲۱ - تاریخ: ۱۳۹۲/۱۰/۳۰
سلام
میخواستم بدونم میشه آدرس فایل ها رو به یک صفحه ریدایرکت کنیم؟
مثلا توی سایت پرشین گیگ شما وقتی لینک مستقیم فایل رو اجرا میکنی به جای دانلود میره به صفحه دانلود فایل و شما باید از اونجا دانلود کنی.
جالبه که تو اون صفحه همون لینک رو برای دانلود میده که شما میتونید دانلود کنید.
با تشکر
پاسخ: 
سلام
برای ایجاد لینک غیر مستقیم باید با چند مبحث تقریبا حرفه ای در PHP و htaccess آشنا باشید:
- نحوه ریدایرکت کردن لینک ها در htaccess
- نحوه کار با توابع فایل در PHP
- نحوه استفاده از توابع مربوط به header در PHP
همان طور که ملاحظه می کنید مباحث فوق هر کدام نیاز به پیش زمینه هایی دارند که باید سر فرصت آنها را بیاموزید.
نویسنده: امین
زمان: ۱۲:۴۸:۱۶ - تاریخ: ۱۳۹۲/۱۱/۲۱
سلام
سایت woorank از سایت من خطای underscore میگیره
چطور میتونم برطرفش کنم ؟
پاسخ: 
سلام
متاسفانه سایت مذکور را تا به حال تست نکرده ایم و علت خطا مشخص نیست.
more لطفا پیش از ارسال یادداشت نکات زیر را مد نظر داشته باشید:
- مواردی که به کلی خارج از موضوع این مطلب هستند را در فرم منوی "تماس با ما" مطرح و پاسخ را از طریق ایمیل دریافت کنید.
- به سوالات کلی، مبهم، غیرضروری و مشکلاتی که تلاشی برای رفع آن نکرده باشید پاسخ کوتاه و مختصر داده خواهد شد!
- کدها و اسکریپت های طولانی را ترجیحا در یک صفحه وب آنلاین قرار دهید تا امکان تست و بررسی وجود داشته باشد.
- تمام یادداشت ها بررسی و برای هر کاربر زمان مشخصی جهت پاسخگویی در نظر گرفته می شود، لطفا از طرح سوالات متعدد در بازه زمانی کوتاه خودداری کنید.





2 × 7
 refresh
آخرین دیدگاه ها
more برای دسترسی سریع به یادداشت مربوطه می توانید از لینک مطلب در کادر زیر استفاده کنید.
form سحر
در:
سلام من وقتی میخوام توی قسمت صفحات جداگانه وبلاگم گزینه ادامه مطلب رو بیارم باید چیکار کنم چون فقط قسمت نوشته جدید همچین قابلیتی...
۱۵:۰۸:۱۹ ۱۳۹۹/۰۳/۰۸

form علی
در:
با سلام و درود فراوان یه کد جاوا دارم می خوام هر ثانیه نام یه فایل یا پوشه ای رو بگیرم برای مقایسه تا...
۱۱:۰۶:۲۲ ۱۳۹۹/۰۳/۰۸

form علیرضا
در:
با سلام مجدد در پاسخ یکی از کامنت هایم فرمودین که جهت فراخوانی (اجرای) یک فایل در سرور راس ساعت مشخص و صرف...
۱۱:۲۸:۲۴ ۱۳۹۹/۰۳/۰۵

form علیرضا
در:
سلام اگر بخواهیم صفحات سایت رأس ساعت مشخصی مثلا ساعت 12 ظهر رفرش بشه چه کدی رو باید استفاده کنیم. ممنون
۰۴:۴۳:۴۷ ۱۳۹۹/۰۳/۰۵

form علی
در:
با سلام من یه فانکشن نوشتم چطور میشه از توی جاوااسکریپت اون رو صدا بزنم در حقیقت می خوام از توی جاوا یه فانکشنی...
۲۰:۵۹:۰۹ ۱۳۹۹/۰۳/۰۴

form رویا
در:
سلام. خسته نباشید من جدیدا در بلاگفا وبلاگی راه اندازی کردم اما مشکلی دارم. وقتی قسمتی از متن رو انتخاب میکنم و لینک میکنم،...
۱۹:۵۴:۰۰ ۱۳۹۹/۰۳/۰۴

form علی
در:
چطور میشه همزمان با کلیک بر روی «تعویض کد» یعنی کد زیر: پوشه ساخته بشه. با سپاس
۰۹:۵۰:۲۷ ۱۳۹۹/۰۳/۰۳

form علی
در:
با سلام... من یه متغیر تعریف کردم مثلا رو بهش متصل کنیم ممنون از پاسختون.
۰۶:۱۶:۲۷ ۱۳۹۹/۰۳/۰۳

form یاسمن
در:
سلام یه برنامه ای که رشته رو به عنوان password دریافت کنه و کاراکتر فاصله نباشد طول رشته هم از 8 تا 50 باشه عدد...
۱۸:۵۲:۴۴ ۱۳۹۹/۰۳/۰۲

form مرتضی ق
در:
سلام خسته نباشید. یک سایت اصلی و مادر دارم مثلا www.m.com حالا سه سایت دیگر زیر مجموعه مثلا m1 و m2 و m3 من...
۱۸:۲۵:۱۱ ۱۳۹۹/۰۳/۰۲

form میترا
در:
با سلام ببخشید مطلبتون خیلی خوب بود یه سوال من با فتوشاپ انلاین کار می کنم نمی دونم چرا نمی تونم باهاش...
۱۸:۱۵:۱۰ ۱۳۹۹/۰۳/۰۲

form fatemeh
در:
پاراگراف زیر را داریم. چه تنظیماتی در CSS و HTML نیاز است تا در صفحه وببدرستی نمایش داده شود؟ میشه برا جواب این سوال...
۱۶:۳۲:۲۳ ۱۳۹۹/۰۳/۰۱

form علی
در:
با سلام و عرض ادب من یه فانکشن تعریف کردم و کدهای فایل ajax-loading-message.php رو درونش گذاشتم
۰۸:۴۲:۲۱ ۱۳۹۹/۰۳/۰۱

form Maryam
در:
سلام .. من میخاستم کدی بنویسم که خروجی آن دکمه on .. of باشه که با زدن دکمه رنگ پس زمینه تغییر کند ممنون میشم...
۰۲:۲۱:۳۴ ۱۳۹۹/۰۲/۳۱

form amir
در:
سلام ممنون از سایت خوبتون چطور میشه با جاوااسکریپت ایجکس و پی اچ پی بتونم تمامی جدول های دیتابیس رو هر کدوم با یه...
۲۰:۴۵:۵۲ ۱۳۹۹/۰۲/۳۰
form علی
در:
با سلام و عرض ادب بسیار سایت پر محتوایی دارید تبریک... می خواستم بپرسم اگر بخواهیم مثلا کاربر روی یک لینکی در سایت...
۰۷:۲۲:۰۱ ۱۳۹۹/۰۲/۳۰
form Edward ASharp
در:
سلام میشه همين فایلای کاملشو به من بدید؟
۰۰:۰۲:۲۱ ۱۳۹۹/۰۲/۳۰
form میکاییل
در:
سلام من پروزه ای دارم با mvc نوشته شده و در روت سایت فایل htacsess دارم که کد های زیر توشه ...
۰۲:۳۰:۰۲ ۱۳۹۹/۰۲/۲۹
form mahdi
در:
سلام استاد عزیز ، این درسته که با node.js دیگه نیازی به یادگیری php نخواهیم داشت؟
۲۲:۳۹:۳۶ ۱۳۹۹/۰۲/۲۸
form امیر مهدی
در:
سلام ممنونم از اینکه کمکم کردید ولی من منو رو با زیر منوها می خواستم کد شما زیر منوها رو از بین برد. منظور من...
۲۲:۳۰:۱۵ ۱۳۹۹/۰۲/۲۸
form امیر مهدی
در:
سلام. من در طراحی منو سایت با مشکل برخوردم. من منو خودم رو ساختم و متوجه شدم که منو من مقداری فضا از سمت چپ...
۱۹:۲۴:۰۱ ۱۳۹۹/۰۲/۲۸
form امین
در:
خیلی خیلی ممنون از اینکه جواب دادید اما الان که امتحان کردم مجموع همه ی سفارشات رو میزنه یعنی اگر 3 نفر سفارش دادن...
۱۳:۴۶:۵۵ ۱۳۹۹/۰۲/۲۸
form امین
در:
درود به شما خسته نباشید یک سوال داشتم خیلی گشتم اما پیدا نکردم من دیتابیسی برای مثال invert دارم میخوام یک صفحه...
۰۱:۰۰:۴۵ ۱۳۹۹/۰۲/۲۸
form امیر
در:
عالی بود. سپاس گذارم
۱۰:۱۹:۴۴ ۱۳۹۹/۰۲/۲۷
form فرامرز اسماعیلی
در:
سلام خسته نباشید. من داخل ویرایشگرهای notepad++ یا Braket دستور html رو می نویسم یعنی فایل متنی به صورت index.html رو می خواهم اجرا کنم...
۲۲:۴۱:۴۳ ۱۳۹۹/۰۲/۲۶
form پری
در:
سلام بعضی از سایت ها وقتی اهنگ بعدی رو پلی میگنیم اهنگ قبلی که در حال پخش است به طور خودگار قطع میشود میشه این...
۱۴:۲۲:۲۵ ۱۳۹۹/۰۲/۲۶
form ilia Delbar
در:
خیلییییییییییی خوبه! فقط دلم می خواد یه برنامه درست کنم رنگ ها رو نشون بده (رنگ تگ ها)
۱۳:۱۵:۱۹ ۱۳۹۹/۰۲/۲۶
form زهیر صفری
در:
با سلام چطور میتونم تاریخ تولد فرد ایرانی رو بگیره مثلا از input و سن فرد رو در input بعدی نمایش بده میتونید...
۱۲:۳۸:۵۷ ۱۳۹۹/۰۲/۲۶
form حبیب
در:
با سلام بنده از طریق مودم خانه به اینترنت وصل شدم هم با کامپیوتر و هم با موبایل. اما ای پی در هر...
۰۳:۱۲:۵۴ ۱۳۹۹/۰۲/۲۶
form امین
در:
سلام خسته نباشید امیدوارم جوابمو بدید من داخل یک صفحه این کد جاوا رو دارم میخوام خروجی که میده رو داخل...
۱۳:۴۴:۳۳ ۱۳۹۹/۰۲/۲۵
form امیر هادی نجاتی
در:
ممنون از شما. این قسمت (استفاده از جاوا اسکریپت برای غیر فعال کردن کلیک راست) واقعا به دردم خورد .
۲۱:۰۳:۵۰ ۱۳۹۹/۰۲/۲۴
form لیلا
در:
سلام ، ببخشید من میخوام یک مدرک رو در سایت آپلود کنم ولی ارور زیر رو میده . میشه راهنماییم کنید. ممنون
۱۴:۵۲:۴۷ ۱۳۹۹/۰۲/۲۴
form زهرا جعفری
در:
با سلام بنده میخواهم در جاوااسکریپت یک textbox داشته باشم که در آن یک دکمه چشمک زن بذارم وسط متن و وقتی روی...
۱۰:۰۱:۵۱ ۱۳۹۹/۰۲/۲۴
form جواد
در:
سلام. مقادیر و اطلاعاتی از یک سایت دیگه با همین متد file get contents میگیرم که روی لوکال هاست سرعتش خوبه، روی سرور هم بد...
۲۲:۰۳:۲۲ ۱۳۹۹/۰۲/۲۳
form علی رضایی
در:
در خط آخر خطای نحوه ارسال آرگومان می دهد. خطای syntax است یا دستور مورد دارد؟
۱۳:۲۹:۴۹ ۱۳۹۹/۰۲/۲۳
form علی
در:
سلام میخوام مطالب مرتبط با موضوعات سایتم رو در پایین اونها نمایش بدم چجوری میتونم این کار رو بکنم
۰۱:۲۸:۰۰ ۱۳۹۹/۰۲/۲۳
form امیرحسین
در:
با سلام. من تو css میخوام از اتریبیوت border-radius استفاده کنم ولی وقتی مقدارشو مثلا توی div زیاد میذارم متن داخل div بیرون میاد میخواستم...
۱۹:۵۲:۳۰ ۱۳۹۹/۰۲/۲۲
form امیرعلی
در:
با سلام بنده میخواستم بدانم که میشود تگ div را با این روش ها پنهان کرد من میخواهم افزونه ی وردپرسی را...
۱۲:۳۹:۲۶ ۱۳۹۹/۰۲/۲۲
form یوسف رضایی
در:
با سلام و خسته نباشید خواستم بپرسم خروجی یک فرم (با چند گزینه) بر روی برووزر که اماده برای ارسال برای سرور هست را توی...
۱۱:۱۴:۰۳ ۱۳۹۹/۰۲/۲۲
form سعیده
در:
سلام من یه اهنگ که تو وبلاگم میزارم صفحه پخش اهنگ میاد و بلندگوش ولی اون مثلث پلی کنندش نمیاد یعنی عملا واسم...
۱۵:۴۱:۰۵ ۱۳۹۹/۰۲/۲۱
form مجید اسکندری فر
در:
سلام حدود 700 تصویر رو در وبلاگم بارگذاری کردم و حدود 6000 بازدید داشته علت عدم نمایش تصاویر بارگذاری شده در وبلاگم چیست؟ خیلی زحمت...
۱۰:۳۲:۴۵ ۱۳۹۹/۰۲/۲۱
form علیرضا
در:
سلام، ممنون از مطلب کاملتون یه نکته رو هم من اضافه کنم برای کاملتر شدن مقاله، هر آدرس آی پی از یک شناسه هاست...
۰۹:۳۷:۵۰ ۱۳۹۹/۰۲/۲۱
form mahdi
در:
سلام استاد عزیز ، خیلی ممنون از راهنمایی ، انجامشون میدم، فکر میکنم همه این کارارو بلد باشم فقط WYSIWYG رو اصلا نشنیده بودم که...
۰۷:۱۸:۳۷ ۱۳۹۹/۰۲/۲۱
form معصومه
در:
سلام، امروز دیدم که عکس های وبلاگم حذف شده چرا؟ چطور میتونم برشون گردونم؟ عکس ها رو از سایت پیکو فایل آپلود میکردم، هرچقدرم سعی...
۱۴:۵۳:۵۱ ۱۳۹۹/۰۲/۲۰
form mahdi
در:
سلام استاد عزیز و گرامی ، یه درخواستی داشتم ازتون میخوام اگه براتون ممکنه من رو در جاوا اسکریپت بسنجی که بدونم چیا بلدم...
۱۴:۱۸:۵۸ ۱۳۹۹/۰۲/۱۹
form امیر
در:
با سلام، خدمت دوستان عزیز دو جدول به نام‌های Messages و Comments موجود هستند. در جدول Comments فیلدی به نام IDElement وجود دارد که...
۰۵:۲۹:۳۸ ۱۳۹۹/۰۲/۱۹
form ehsan hoseini sianaki
در:
سلام خیلی عالی و کاربردی بود. خسته نباشید.
۲۳:۰۰:۵۱ ۱۳۹۹/۰۲/۱۷
form امید
در:
با سلام و عرض ادب فیلتری میخوام که تعداد جوابهای فیلترهای سایت tse بورس که با جاوا نوشته شده رو بگه مثلا قرار...
۰۰:۱۰:۵۱ ۱۳۹۹/۰۲/۱۷
form احسان
در:
سلام ببخشید من هر کار میکنم تو گوشی اندروید با Html یه عکس رو در سایت خودم بزارم هیچی نمیشه فقط یه علامت عکس میاد...
۲۲:۲۸:۳۷ ۱۳۹۹/۰۲/۱۶
form hasti
در:
سلام . وقت بخیر . میشه مثالی بزنید که right over join برابر با inner join (داخلی) بشه . /با order و customer/ ...
۲۰:۰۵:۱۷ ۱۳۹۹/۰۲/۱۶
form میثم
در:
سلام مجدد من دیگه اینقدر با این کدها ور رفتم دیوونه شدم. این کل تابع منه. شما می تونید برای حل مشکلی که...
۱۷:۳۰:۳۱ ۱۳۹۹/۰۲/۱۶
form میثم
در:
سلام در تکمیل سوالی که خدمت شما عرض شد: ببینید ما دو تا فیلد فایل داریم توی اولی عکس اپ میشه و توی...
۱۶:۲۶:۲۶ ۱۳۹۹/۰۲/۱۶
form ماردین
در:
سلام من میخواستم ببینم چکار کنم که اولین query رو بدون حذف بقیه query ها حذف کنم
۱۵:۵۲:۵۴ ۱۳۹۹/۰۲/۱۶
form میثم
در:
سلام یه سوال خدمت شما داشتم. من با جاوا اسکریپت میخوام بخش فایل توی فرمم رو چک کنم. توی فرم 2 تا فیلد...
۱۱:۴۷:۵۲ ۱۳۹۹/۰۲/۱۶
form amir mtf
در:
سلام ببخشید من میخواستم در تگ این‌پوت برخی از کلمات و علامت ها رو حذف کنم. یک درخواست دیگر هم دارم اگه میشه کد...
۱۲:۳۷:۰۵ ۱۳۹۹/۰۲/۱۵
form کیوان
در:
سلام ممنون از سایت خوبتون، من یه فرم دارم که اطلاعاتش رو از دیتابیس میگیره، چطور میتونم با نوشتن حلقه بعد از چاپ سه...
۱۸:۲۲:۲۴ ۱۳۹۹/۰۲/۱۳
form mohammad
در:
آموزشتون خیلی فهما و دقیق بود ممنون
۲۱:۵۵:۳۸ ۱۳۹۹/۰۲/۱۲
form محمودی
در:
سلام چطوری میتونم برای سایت ثبت نام کدبورسی و ثبت نام ارز دیجیتال بک لینک بگیرم
۱۵:۲۶:۰۷ ۱۳۹۹/۰۲/۱۲
در انتظار بررسی: ۰