URL Rewrite
rewrite آدرسی را که nsin به سرور شما میفرستد عوض میکند. آدرس بار بازدیدکننده همان چیزی را نشان میدهد که تایپ کرده بود.
| آدرس بار بازدیدکننده | رفتوبرگشت اضافه | |
|---|---|---|
| Redirect | عوض میشود | بله |
| Rewrite | همان میماند | خیر |
کِی از rewrite استفاده کنید
Section titled “کِی از rewrite استفاده کنید”- سایت شما جابهجا شده، ولی آدرسهای عمومی قدیمی باید کار کنند.
- یک آدرس عمومی تمیز (
/blog/hello) باید به یک آدرس داخلی شلوغتر (/index.php?p=hello) map شود. - یک بخش روی اپلیکیشن دیگری اجرا میشود و path هایش باید همراستا شوند.
ساختن یک rewrite
Section titled “ساختن یک rewrite”- به Rules → Add Rule → URL Rewrite بروید.
- path تطبیق را تنظیم کنید.
- path ارسالی به سرور شما را تنظیم کنید.
- رفتار query string را انتخاب کنید.
- Save را بزنید.
راهنمای فیلدها
Section titled “راهنمای فیلدها”| فیلد | گزینهها |
|---|---|
| Path match | Wildcard (/old/*) یا regex (capture group قابل استفاده در path مقصد) |
| Query string | Keep، Replace (فرستادن یک رشتهی ثابت)، Remove |
| Exclude | path هایی را از یک تطبیق گستردهتر بیرون بکشید |
- اعمال روی:
/downloads/*- ارسال به سرور شما بهعنوان:
/files/*- Query string: keep
درخواست برای /downloads/report.pdf، /files/report.pdf را میگیرد، اما آدرس
بار همچنان /downloads/report.pdf را نشان میدهد.
سوالهای رایج
Section titled “سوالهای رایج”rewrite یا redirect؟ Rewrite برای نگهداشتن لینکهای قدیمی بهصورت نامرئی. Redirect برای فرستادن افراد و موتورهای جستوجو به آدرس جدید.
rewrite من هیچ کاری نمیکند. بررسی کنید رکورد proxied باشد — ببینید مدیریت رکوردهای DNS.
دو قانون روی یک آدرس تطبیق مییابند. آنکه بالاتر است برنده است — ببینید مرور قوانین.