مسیرها مشخص میکنند درخواستهای مختلف چگونه پاسخ داده شوند. مسیر با URL درخواست تطبیق مییابد و تعیین میکند چه خروجیای نمایش داده شود؛ مثلاً مسیر /tag/my-tag قالب tag.twig را رندر میکند.
تنظیمات مسیر در پنل ← تنظیمات ← مسیرها است.
هر وبلاگ تازه پنج مسیر دارد:
| نام | الگوی تطبیق | کاربرد | قالب |
|---|---|---|---|
post | /{slug} | نمایش نوشته | post |
page | /{slug} | نمایش صفحه | page,post |
index | / | فهرست همهٔ نوشتهها | index |
tag | /tag/{slug} | فهرست نوشتههای یک برچسب | tag,index |
author | /author/{slug} | فهرست نوشتههای یک نویسنده | author,index |
فیلتر نوشتهها، نوشتههای قابلنمایش در قالب فهرست را مشخص میکند و به قالب با متغیر _posts میرسد. این فیلتر در صفحههای فهرست، برچسب و نویسنده استفاده میشود.
مسیرهای ویژهٔ غیرقابلسفارشیسازی هم شامل /styles.css، /assets/{file_name}، /media/{file_name}، /p/{hash}، /robots.txt و فایلهای /sitemap*.xml هستند.
الگوی مسیر post و page را میتوانید تغییر دهید. مقدار پیشفرض /{slug} است؛ نمونههای دیگر:
/{year}/{month}/{day}/{slug}/{tag}/{slug}/{author}/{slug}{slug} الزامی است. جاینگهدارهای عمومی {tag} (برچسب نخست نوشته) و {author} (شناسهٔ نویسنده) نیز در دسترساند. اگر از آنها استفاده میکنید، هر نوشته باید برچسب یا نویسنده داشته باشد؛ در غیر این صورت صفحهٔ آن 404 میشود.
جاینگهدارهای زمان بر پایهٔ زمان انتشارند: {year}، {year_short}، {month}، {month_number}، {month_short}، {month_long}، {day}، {day_number}، {day_year}، {day_week}، {day_week_long}، {day_week_number}، {hour}، {minute}، {second} و {unix}. نام ماه و روز فقط با حروف کوچک انگلیسی پشتیبانی میشود.
میتوانید مسیرهای پیشفرض مانند index، tag، author و search را تا حدی تغییر دهید؛ برای نمونه:
/author/{slug} به /creator/{slug}/tag/{slug} به /category/{slug}/ به /blogتوسعهدهندگان پوسته میتوانند با افزودن فایلهای route-{route}.twig مسیرهای سفارشی بسازند.
علاوه بر مسیرهای پیشفرض، مسیر دلخواه بسازید؛ مثلاً برای صفحهٔ فرود، مجموعهٔ تازهای از نوشتهها یا خوراک RSS پادکست.
تداخل معمولاً زمانی رخ میدهد که دو مسیر الگوی یکسان داشته باشند. مسیرهای post و page میتوانند الگوی مشترک داشته باشند (هر دو بهطور پیشفرض /{slug} هستند)، اما مسیرهای دیگر نباید الگوی تکراری داشته باشند.
پسوندهای پشتیبانیشده:
/feed برای خوراک Atom (باید posts_filter تنظیم شود)/page/{page_number} برای صفحهبندیمیتوان مسیرها را با کد زبان پیشوندگذاری کرد؛ راهنمای زبانها را ببینید.
رفتار پیشفرض، نمایش فهرست نوشتهها در صفحهٔ اصلی است. میتوانید ویترو بلاگ را برای سایت عمومی هم به کار ببرید؛ مثلاً صفحهٔ اصلی را به صفحهٔ فرود تبدیل کنید و وبلاگ را در /blog بگذارید.
بهطور پیشفرض همهٔ نوشتهها در یک مجموعهاند. برای نمونه، اگر نوشتههای وبلاگ و قسمتهای پادکست را جدا میخواهید:
podcast بدهید.index.twig را ویرایش کنید تا نمای کلی دو مجموعه را نشان دهد./blog را با فیلتر tag.slug != podcast برای نوشتههای عادی و مسیر /podcast را با فیلتر tag.slug = podcast بسازید.