اگر وردپرس خود را روی سرور وب IIS میزبانی میکنید و برخی از صفحات/آدرسهای پستها باز نمیشوند، ممکن است با URLهای غیر لاتین مشکل داشته باشید. سرویس اطلاعات اینترنتی نمی تواند آدرس های اینترنتی با نویسه های غیر انگلیسی (IIS) را مدیریت کند. در نتیجه، وردپرس صفحه یافت نشد (404) را روی همه URL هایی که دارای کاراکترهای غیر انگلیسی هستند پرتاب می کند. میتوانید از استفاده از کاراکترهای غیر لاتین در اسلاگهای پست/صفحه اجتناب کنید یا index.php را به صورت زیر اصلاح کنید (این فایل در فهرست اصلی وردپرس قرار میگیرد). پس از اولین باز کردن تگ PHP <?php، کد را اضافه کنید
if (isset($_SERVER['UNENCODED_URL'])) { $_SERVER['REQUEST_URI'] = $_SERVER['UNENCODED_URL']; }
شما همچنین باید web.config را به درستی پیکربندی کنید تا به وردپرس اجازه دهید پیوندهای دائمی زیبایی داشته باشید
<?xml version="1.0" encoding="UTF-8"?> <configuration> <system.webServer> <rewrite> <rules> <rule name="WordPress Rule 1" stopProcessing="true"> <match url="^index\.php$" ignoreCase="false" /> <action type="None" /> </rule> <rule name="WordPress Rule 2" stopProcessing="true"> <match url="^([_0-9a-zA-Z-]+/)?files/(.+)" ignoreCase="false" /> <action type="Rewrite" url="wp-includes/ms-files.php?file={R:2}" appendQueryString="false" /> </rule> <rule name="WordPress Rule 3" stopProcessing="true"> <match url="^([_0-9a-zA-Z-]+/)?wp-admin$" ignoreCase="false" /> <action type="Redirect" url="{R:1}wp-admin/" redirectType="Permanent" /> </rule> <rule name="WordPress Rule 4" stopProcessing="true"> <match url="^" ignoreCase="false" /> <conditions logicalGrouping="MatchAny"> <add input="{REQUEST_FILENAME}" matchType="IsFile" ignoreCase="false" /> <add input="{REQUEST_FILENAME}" matchType="IsDirectory" ignoreCase="false" /> </conditions> <action type="None" /> </rule> <rule name="WordPress Rule 5" stopProcessing="true"> <match url="^([_0-9a-zA-Z-]+/)?(wp-(content|admin|includes).*)" ignoreCase="false" /> <action type="Rewrite" url="{R:2}" /> </rule> <rule name="WordPress Rule 6" stopProcessing="true"> <match url="^([_0-9a-zA-Z-]+/)?(.*\.php)$" ignoreCase="false" /> <action type="Rewrite" url="{R:2}" /> </rule> <rule name="WordPress Rule 7" stopProcessing="true"> <match url="." ignoreCase="false" /> <action type="Rewrite" url="index.php" /> </rule> </rules> </rewrite> </system.webServer> </configuration>