2017-10-01 26 views
1

私のURLの1つの単語をラテン語からキリル文字に変更したいだけです。それは古い開発者によって管理パネルの "製品"に設定されているワードプレス製品です。彼らは自分のショッピングカートモジュールを使ってウェブサイトを開発しました。何らかの理由で管理パネルで「製品」を「продукт」に変更すると、インデックスにリダイレクトされます。 .htaccessを使用してこの単語を視覚的に書き換えることはできますか?他のすべてのURLは同じままですか?正しい構文は何ですか?htaccess onlyカテゴリをWordpressに書き直す

ジャスト:

https://example.com/product/simple-product-1 

へ:

https://example.com/продукт/simple-product-1 

そしてもちろん他のすべての製品。

+1

このURLを変更_visually_するには、ワードプレスでこれを変更する必要があります。 – MrWhite

答えて

1

これはあまり単純ではありませんが、これにはいくつかの小さな制限があります。

RewriteEngine On 
RewriteBase/
# Check if the request is not coming from the Proxy 
RewriteCond %{QUERY_STRING} !^(.*&)?is_proxy=true(&.*)?$ 
# Redirect (301) the user to the new location 
RewriteRule ^/?product(/.*)?$ /продукт$1 [R=301,L] 

# Rewrite the request with http_proxy including a Query String that we can check 
RewriteRule ^/?продукт(/.*)?$ /product$1?is_proxy=true [QSA,P] 

# Common WP rewrite rule 
RewriteRule ^index\.php$ - [L] 
RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteRule . /index.php [L] 

私はこれをApache 2.4.27のUbuntu 16.04.03 LTS Serverでテストしました。だからここ

が前提条件です:

  1. あなたがapacheのhttp_proxyには、そうでなければ、500サーバーエラーが発生します有効にする必要があります。

  2. リライトエンジンが無限ループに終わらないようにクエリ文字列を追加する必要があります。
    このクエリ文字列は好きなようなものですが、GoogleのUTMパラメータのようにWPサイトに意味のないものを選択してください。私の例:is_proxy=true。クエリ文字列はユーザ​​ーには表示されませんが、WPが認識するものを選択した場合、予期しない動作が発生する可能性があります。

また、あなたがmod_proxyのを使用する場合は、サーバーをセキュリティで保護する方法については以下のセクションをお読みください:

関連する問題