رفع مشکل پیوند یکتای وردپرس در ویندوز سرور web.config

رفع مشکل پیوند یکتای وردپرس در ویندوز سرور web.config

مرتضی حبیبی

رفع مشکل پیوند یکتای وردپرس

اگر شما هم از سیستم مدیریت محتوای وردپرس بر روی ویندوز سرور و وب سرور IIS استفاده کرده باشید با این مورد مواجه شده اید که پیوندهای یکتای فارسی (Permalinks) بر روی این وب سرور قابل استفاده نمی باشند و صفحاتی که به صورت فارسی لینک شده اند لود نمی شوند. در سرویس های لینوکسی برای استفاده از پیوند یکتا می بایست کدهای مربوطه را در فایل .htaccess قرار دهید اما در سرورهای ویندوزی امکان استفاده از این فایل وجود ندارد و تنظیمات را می بایست از طریق فایل web.config اعمال کنید. ما در این مطلب به شما همراهان عزیز شتابان هاست نحوه بر طرف کردن مشکلات کارکردی وردپرس را آموزش می دهیم. ما را همراهی کنید.

اگر پیوندهای یکتای(لینک) شما حروف فارسی ندارد با اضافه کردن کد زیر در فایل web.config مشکل رفع خواهد شد.

<?xml version=“۱٫۰” encoding=“UTF-8”?>
<configuration>
<system.webServer>
<rewrite>
<rules> <rule name=”WordPress Rule” stopProcessing=”true”>
<match url=”.*” />
<conditions>
<add input=”{REQUEST_FILENAME}” matchType=”IsFile” negate=”true” />
<add input=”{REQUEST_FILENAME}” matchType=”IsDirectory” negate=”true” />
</conditions>
<action type=”Rewrite” url=”index.php” />
</rule>
</rules>
</rewrite>
</system.webServer>
</configuration>

اما اگر لینک ها دارای کلمات و حروف فارسی هستند باید با مراحل زیر را طی کنید.

برای رفع مشکل موارد زیر را انجام دهید

  1. ابتدا باید URL Rewrite در سرور فعال باشد. (در صورتی که URL Rewrite در سرور فعال نیست با این آموزش اقدام به فعال سازی نمایید).
    سپس از قسمت view server variables متغییر REQUEST_URI را اضافه کنید. (آموزش اضافه کردن متغییر های سرور در IIS را در این مطب مشاهده نمایید)
  2. در web.config سایت خودتان و قبل از تگ </rule> عبارت زیر را وارد کنید:
    <serverVariables>
    <set name=”REQUEST_URI” value=”{UNENCODED_URL}” replace=”false” />
    </serverVariables>

    فایل web.config (پیشفرض) بعد از اضافه کردن کد بالا به صورت زیر خواهد بود:

    <?xml version="1.0" encoding="UTF-8"?>
    <configuration>
    <system.webServer>
    <rewrite>
    <rules>
    <rule name="WordPress Rule" stopProcessing="true">
    <match url=".*" />
    <conditions>
    <add input="{REQUEST_FILENAME}" matchType="IsFile" negate="true" />
    <add input="{REQUEST_FILENAME}" matchType="IsDirectory" negate="true" />
    </conditions>
    <action type="Rewrite" url="index.php" />
    <serverVariables>
    <set name="REQUEST_URI" value="{UNENCODED_URL}" replace="true" />
    </serverVariables>
    </rule>
    </rules>
    </rewrite>
    </system.webServer>
    </configuration>
  3. در مرحله آخر فایل index.php  را ویرایش کرده و پس از <? php  عبارت زیر را وارد کنید:
/** Fix redirect on homepage as well as UNICODE URL rewrite issue */
if (isset($_SERVER[“UNENCODED_URL”])) $_SERVER[“REQUEST_URI”] = $_SERVER[“UNENCODED_URL”];

با انجام این کار موارد مشکل پیوند یکتای شما رفع خواهد شد.

امیدواریم از این مقاله راجع به ویندوز سرور web.config بهره لازم را برده باشید.

ما را در شتابان هاست دنبال کنید.

  • احمدرضا گفت:

    من تمام کارهایی که اینجا نوشته شده را انجام دادم ولی باز هم مشکلم حل نشد .

    • میلاد زنگی گفت:

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

  • ارسال دیدگاه جدید