私のパーマリンクカスタムURLは/%post_id%/%postname%/です。
私のウェブサイトはペルシャ語です、投稿によってはパーマリンクはからURLに変更されています
http://www.ahangbaz.com/1300/%d8%a7%d8%a8%db%8c-%d8%b7%d9%be%d8%b4-%da%86%d8%b4%d9 %85%d9%87/ に - > http://www.ahangbaz.com/1300/?-???-????/
しかし、これはすべての投稿で起こるわけではありません。例えば、次の投稿はうまくいきます:ahangbaz.com/1106/%D9%82%DB%8C%D8%B5%D8%B1-%D8%A8%D8%B9%D8 %AF-%DA%86%D9%86%D8%AF-%D8%B3%D8%A7%D9%84 /
私はwordpressのwp_postsテーブルをチェックインし、Post_nameは両方の投稿で似ているようです。
Post_nameを英語に変更してもうまくいきますが、post_nameがペルシャ語の場合、問題が発生します。 Webサーバーは、Windows 2008 R2ではIIS 7.5です。
さらなるテスト:
私はテーマを変更し、すべてのプラグインを無効にしました、それはまだ起こります。私はDBの照合とそのUTF8をチェックしました。
この問題を再現するには、post_title =を使用し、post_nameは%d8%a7%d8%a8%db%8c-%d8%b7%d9%be%d8%b4-%da%86%d8%になります。 b4%d9%85%d9%87
スラグがペルシャ語のahangbaz.com/category/%d8%a7%d8%a8%db%8cにある場合でも同じ問題がカテゴリで発生しますが、英語またはそれが機能する場合ahangbaz.com/category/ 22。
@Indoleringが述べたような問題は、URL書き換えモジュールによって処理されたときにUTF-8文字を含むURLが正しく渡されないというURL書き換えモジュールに関連しています。
私はサーバーの所有者ではないし、私が言及した修正プログラムをインストールすることができないので(たとえIIS8.5を使っていても問題はまだ存在している)私はどういうわけかこれを回避しなければならなかった。
Joomlaのための@ pouria-p によって提案された解決策はWordpressにも適用可能です。
Step 1.web.config
ファイルの書き換え規則を更新する
<configuration>
<system.webServer>
<rewrite>
<rules>
<rule name="WordPress" patternSyntax="Wildcard">
<match url="*"/>
<conditions>
<add input="{REQUEST_FILENAME}" matchType="IsFile" negate="true"/>
<add input="{REQUEST_FILENAME}" matchType="IsDirectory" negate="true"/>
</conditions>
<!-- The changes are applied to this line only -->
<action type="Rewrite" url="index.php" />
</rule></rules>
</rewrite>
</system.webServer>
</configuration>
規則は次のとおりです。
<action type="Rewrite" url="index.php?requesturi={URL}" />
ステップ2.$_SERVER['REQUEST_URI']
ファイルの先頭に次の行を追加して、index.php
を手動で更新します。
if(isset($_GET['requesturi']))
$_SERVER['REQUEST_URI'] = $_GET['requesturi'];
コメント機能はありませんが、問題はMSサーバー側、特にURL書き換えモジュールにある可能性が非常に高いです。これがIIS上のパーマリンクを処理するものです。この問題には hotfix がありますが、おそらくあなたのシステムで利用可能なすべてのhotfixを適用するべきです。