1

私が持っている現在のパーマリンク構造で動作する htaccess ルールを設定しようとしています。

私が持っている現在のパーマリンク構造はこれです

/%category%/%postname%/

そして、私のhtaccessは次のとおりです

<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /blog/
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /blog/index.php [L]
</IfModule>

典型的な URL は次のようになります。

/blog/post_category_name/post_name/

これはすべてうまく機能します。私が直面している問題は、ユーザーがロケールを変更できることです。これにより、次のように URL の前に地域コードが付けられます。

/uk/blog/post_category_name/post_name/

問題は、WP が blog をカテゴリとして、post_category_name を投稿名として取り、WP 内で 404 をスローすることです。

基本的に地域コードを完全に無視したいのですが、可能ですか?

また、英国(または他の地域)のディレクトリが存在しないことを追加する必要があります。

ありがとう

4

1 に答える 1

2

フォルダーをキャッチする場合uk/は、ルート ディレクトリで行う必要があります。これをルートに入れ.htaccessます (まだディレクトリ/ファイルでないことを確認したい場合は、!-f と !-d をチェックできます)。これにより、クエリ文字列から国コードを取得できます。

<IfModule mod_rewrite.c>
 RewriteEngine On
 RewriteBase /
 RewriteRule ^([a-zA-Z]{2})/blog/(.*) /blog/$2?ccode=$1 [L,QSA]
</IfModule>

国コードも無視できます。

<IfModule mod_rewrite.c>
 RewriteEngine On
 RewriteBase /
 RewriteRule ^([a-zA-Z]{2})/blog/(.*) /blog/$2 [L]
</IfModule>

それがWPで何かを変更するかどうかはわかりません(URLをどのように処理するかはわかりません)。チェックする必要があります。

于 2012-04-27T21:58:09.103 に答える