1

なんらかの理由で、私が確認できなかったのですが、私の会社は自社のウェブサイトの 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 にリダイレクトするようにワードプレスを設定する必要がありますか? どうすればそれを行うことができますか?

前もって感謝します。

4

1 に答える 1