なんらかの理由で、私が確認できなかったのですが、私の会社は自社のウェブサイトの 1 つにワードプレスを使用することにしました。同じドメインでアフィリエイト アプリケーションを構築するよう依頼されたので、それを実行しました。このジレンマを除いて、すべてがうまく機能します。
ワードプレスはルートディレクトリにインストールされます。すべてのページ、動画、販売などは、wordpress のページ内から作成されます。
アフィリエイト アプリケーションはサブディレクトリ /aff/ にあり、アフィリエイトのページは mydomain.com/aff/index.php?aff=affiliateusername にあります。
アフィリエイト (およびそのリード) は、www.mydomain.com/affiliateusername と入力するだけでページをロードできるはずですが、これを行うために wordpress htaccess ルールを変換する方法を理解するのに苦労しています.
明らかに、これを機能させるための最良の順序は、wordpress が最初に URL 用語に一致するブログ/投稿/ページがあるかどうかを最初に判断し、何も見つからない場合は、他のすべてを www.mydomain.com/ にリダイレクトすることです。 aff/index.php?aff=なんでも
インデックスページとアフィリエイトページで機能するが、インデックス以外のワードプレスページを正しくロードしないことが最終的に思いついたものです。
# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
#RewriteRule ^(images|wp-admin|wp-content|wp-includes|go|compliance\.html)($|/) - [L]
#RewriteRule ^([^/].*)$ /aff/index.php?aff=$1 [R,L]
RewriteRule . /index.php [L]
</IfModule>
# END WordPress
特定のディレクトリを書き換えから除外しようとしましたが、うまくいきませんでした。ワードプレスブロックの前にリダイレクトルールを置くために、グーグルを介して他のアドバイスを読みましたが、問題はほとんどありません。この行を # BEGIN WordPress 行の前に置くと、エンドレス リダイレクト ループが発生し、/aff/index.php?aff=aff/index.php?... などに進み続けます (これは私が使用している行と同じです)ワードプレスを使用しない別のドメインの同じアフィリエイト アプリケーションの場合)
#RewriteRule ^([^/].*)$ http://www.mydomain.com/aff/index.php?aff=$1 [L]
ひどく明白な何かが欠けているように感じます。すべての 404 を /aff/index.php?aff=originalrequest にリダイレクトするようにワードプレスを設定する必要がありますか? どうすればそれを行うことができますか?
前もって感謝します。