مستندات

استفاده از پیوند یکتا


پیوند های یکتا نشانی های یکتای نوشته های وبلاگ شما هستند. همانند دسته بندی ها و بقیه ی لیست ها در وبلاگ. پیوند یکتا چیزی است که افراد دیگر از آن استفاده میکنند تا به نوشته (یا خش های خاص) پیوند بدهند و یا همان کاری که شما می کنید و یک پیوند را در ایمیل برای دیگری می فرستید. نشانی هر نوشته می بایست یکتا بوده و هرگز تغییر نکند.از این رو آن را پیوند یکتا می نامند.

انواع پیوند یکتا

سه نوع پیوند یکتا به صورت پایه  در وردپرس وجود دارد :

پیش فرض : “زشت”

حالت پیش فرض به صورت زیر است :

http://example.com/?p=N

به این صورت که N نشان دهنده ی شناسه نوشته است. این حالت در تمام سرورها کار می کند، اما با توجه به دیگر اختیارات ما زیبا به نظر نمی رسد.

mod-rewrite  : “پیوند یکتای زیبا”

این ها زیبا ترین نوع پیوندهای یکتا هستند. (پیوند های یکتای زیبا را ببینید) . شکل های گوناگونی از این دست وجود دارند ، اما متعارف ترین و سلیس ترین آن ها به شکل زیر است :

http://example.ir/category/post-name/

یا

http://example.com/year/month/day/post-name

بعضی ها قسمت هایی از تاریخ (روز،ماه،سال) را حذف می کنند تا به پیوند یکتای کوتاه تری برسند. پیوند یکتایmod-rewrite نیازمند ماژول mod-rewrite آپاچی می باشد.

PATHINFO : “تقریباً زیبا”

این پیوند یکتا به نوعی شبیه به mod-rewrite ها است ، اما تفاوت در وجود index.php در ابتدای آن است. مثل :

http://example.com/index.php/yyyy/mm/dd/post-name/

در هر صورت این نوع هم همانقدر زیبا هستند که mod-rewrite ها و به همان ادازه هم انعطاف پذیر هستند. هر کاری که mod-rewrite ها می توانند انجام دهند PATHINFO ها نیز همان کار را باکمک index.php انجام می دهند. همچنین افزونه ای وجود دارد که نوع پیوند یکتای به کار رفته و اطلاعات جرئی و قوانین داخلی rewrite را که در وردپرس استفاده می شود را نمایش می دهد.

انتخاب ساختار پیوند یکتا

در تنظیمات > برگه ی پیوند های یکتا شما می توانید یکی از ساختار های متعارف را انتخاب کنید و یا ساختار مورد نظرتان ا در “ساختار دلخواه” وارد کنید. ( برای فعال سازی پیوند یکتای PATHINFO ، ساختار مورد نظرتان را با index.php/ شروع کنید. )

File:wordpress-permalinks-structure.gif

ساختار برچسب ها

شما می توانید از برچسب های زیر برای شخصی سازی پیوند های یکتای “زیبا” ا “تقریباً زیبا” ی خود استفاده کنید و مطمئن شوید که ساختارتان را با %post-id% و یا %postname% تمام می کنید که باعث می شود هر پیوند یکتا به یک نوشته ی یکتا مربوط شود.به مثال زیر توجه کنید :

/%year%/%monthnum%/%day%/%postname%/
%year%

نمایش سال یک نوشته ، چهار عدد ، ۲۰۱۱

%monthnum%

نمایش ماه از سالی که نوشته در آن نوشته شده ، مثلاً ۳

%day%

نمایش روز از ماهی که نوشته در آن نوشته شده ، ۱۰

%hour%

نمایش ساعت، مثلا ۱۲

%minute%

نمایش دقیقه، مثلا ۲۴

%second%

نمایش ثانیه، مثلا ۳۳

%postname%

اصولی شده ی عنوان یک نوشته (همان Post Slug یا عنوان لاتین یک نوشته ، در ویرایش نوشته یا ویرایش برگه). در نتیجه عنوان This Is A Great Post می شود this-is-a-great-post در پیوند شما (یا نشانی نوشته ی شما (استفاده از %postname% را ببینید.)

%post_id%

شناسه ی مخصوص هر نوشته ، ۸۳۲

%category%

اصولی شده ی نام دسته بندی (Category Slug در برگه ی ایجاد/ویرایش یک دسته بندی)

%author%

اصولی شده ی نام یک نویسنده

بر پایه ی دسته بندی

این نام پیشوندی است که این پیوند های یکتا بر پایه ی آن ایجاد می شود که همیشه فرم زیر را دارند :

category_base/category_name

پیش فرض “بر پایه ی دسته بندی” دسته بندی است.

این پیوند های یکتا در بیشتر سیستم ها بدون اشکال کار می کنند ، اما هنوز شرایطی هست که مشکلاتی اتفاق می افتد.

استفاده از %postname% به تنهایی

اگر از postname به عنوان تنها عنصر در ساختار پیوند های یکتایتان استفاده می کنید مثل example.com/post-title ، قوانین rewrite شاید دسترسی شما را به برگه های style sheet (که همین ساختار را دارند) و یا /wp-admin/ غیر ممکن سازند. بهتر آن است که از مقداری اطلاعات عددی نیز استفاده کنید (مثل PostID) تا مانع از چنین اتفاقاتی شود. علاوه بر آن WordPress V 1.2.x نیازمند استفاده از ساختار تاریخ برای به کار بردن تقویم است تا به خوبی کار کند. ساختار /%year%/%monthnum%/%day%/%postname%/ همیشه یک شروع خوب است.

استفاده از %category% با چند دسته بندی در یک نوشته :

وقتی شما چند دسته بندی را برای یک نوشته انتخاب می کنید ، تنها یکی از آن ها می تواند در پیوند یکتا نمایش پیدا کند.این دسته ای با کمترین عدد خواهد بود (مدیریت دسته بندی ها را ببینید). همچنین نوشته از تمام دسته های دیگر انتخاب شده قابل دسترس خواهد بود.

استفاده از پیوند های یکتای “زیبا”

نیازمندی ها :

  • وب سرور آپاچی با ماژول نصب شده ی mod-rewrite
  • در پوشه ی خانگی وردپرس ،
    • فعال بودن FollowSymLinks option
    • آزاد بودن FileInfo directives (یه عنوان مثال AllowOverride FileInfo, AllowOverride All)
    • یک فایل .htaccess (اگر این فایل وجود نداشته باشد، در زمان استفاده از پیوند های یکتا، وردپرس تلاش میکند آن را بسازد).
    • اگر میخواهید وردپرس فایل .htaccess را به روز کند، وردپرس نیاز به دسترسی به این فایل دارد.
  • برای lighttpd منابع بیرونی را ببینید.

وقتی شما ساختار پیوند یکتایی را ایجاد و یا به روز می کنید وردپرس تلاش میکند قوانین rewrite را در فایل .htaccess مشخصی بنویسد. اگر نتواند پیغامی میدهد شبیه به :

“شما می بایست فایل .htaccess تان را به روز کنید.”

و قوانین مربوطه را برای شما نمایش می دهد تا آن را کپی کرده و در فایل مربوطه بچسبانید (آنها را در پایان فایل فایل قرار دهید). در وردپرس ۲ به بالا شما تنها نیاز دارید این کار را یک بار انجام دهید، چون وردپرس این کار را به طور داخلی انجام میدهد.اما اگر پوشه ی وردپرس تان را منتقل کنید (نشانی وبلاگ) باید یک بار دیگر این مرحله را انجام دهید. وردپرس برخورد خوبی با .htaccess خواهد داشت و چیزی از آن پاک نمی کند ، قوانین دیگر rewrite را تغییر نمی دهد و اگر قوانین rewrite دیگری دارید آنها را قبل از قوانین مربوط به وردپرس قرار دهید.

فایل .htaccess من کجاست؟

فایل index.php و .htaccess باید همراه یکدیگر در پوشه ی مشخص شده برای “نشانی وبلاگ” باشند.مادامی که نام فایل یک نقطه (dot) است ممکن است در نرم افزار های کار با FTP نمایش پیدا نکند.تا زمانی که شما تنظیمات نرم افزار را تغییر دهید تا تمام فایل ها را نمایش دهد،حتی فایل های مخفی را.بعضی از هاست ها (مثل Godaddy) ممکن است فایل .htaccess را به شما نمایش ندهند و یا اجازه ی ویرایش آن را ندهند.

ساخت و ویرایش .htaccess :

اگر شما یک فایل .htaccess ندارید ، پس خودتان یکی بسازید. اگر به shell یا ssh در سرور دسترسی دارید ، دستور ساده ی touch .htaccess فایل را برای شما می سازد. اگر از FTP برای انتقال فایل ها استفاده می کنید، روی کامپیوترتان فایلی با نام ۱٫htaccess ایجاد کرده و آن را در root شاخه ای که وردپرس را در آن نصب کرده اید آپلود کرده و آن را به .htaccess تغییر نام دهید. شما می توانید این فایل را با FTP ، shell یا احتمالاً کنترل پنل هاستتان ویرایش کنید.

# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>
# END WordPress

اگر فایل .htaccess شما خطایی ایجاد کرد که باعث پایین آوردن سایتتان شد ( Internal Server Error (500) ) شما می توانید فایل .htaccess را با استفاده از FTP یا کنترل پنل هاستتان پاک کنید.برای بازنویسی پیوند پایدار کد زیر را در htaccess. خود کپی کنید :

فایل .htaccess را خودکار به روز کنید

اگر وردپرس نتواند فایل .htaccess را خودکار به روز کند ، پیغامی میدهد شبیه به اگر فایل .htaccess قابل نوشتن بود ما می توانستیم این کار را خودکار انجام دهیم ، اما این گونه نیست. اگر میخواهید به وردپرس اجازه دهید خودکار این کار را انجام دهد باید به وردپرس اجازه ی نوشتن بر روی فایل .htaccess را بدهید.اجازه ی دقیق مورد نیاز بسته به تنظیمات سرور شماست.با توجه به اولویت ابتدا Owner (دارنده) سپس Group (گروه) و بعد World (جهان) و بعد از هر تغییر عملیات را تست کنید و هنگامی که کار انجام شد دیگر اجازه ها را تغییر ندهید. (پیشنهاد می شود اجازه ی ۷۷۷ بدهید) بعد از اجرا کردن پیوند های یکتا ، اجازه بر روی فایل .htaccess را باید به یک مقدار قوی تر مثل ۶۶۶ یا ۶۴۴ تغییر دهید تا مانع از دسترسی دیگران که روی سرور هستند به آن شوید.