1

カスタムphpを使用して、次のようなURLで個々のストアページを提供するWebサイトを再構築しました。

http://thedomain.com/storedetails.php?storeNum=1

新しいサイトはWordpressを利用しており、個々のストアは次のように名前付きのサブディレクトリに存在します。

http://thedomain.com/stores/gothamcity

私はstackoverflowで見つけた解決策を試してきましたが、すべてこれのバリエーションのようです:301パラメーター付きの古いURLをパラメーターなしのパスにリダイレクトする

次に例を示します。

RewriteCond %{QUERY_STRING} ^storeNum=18$ [NC]
RewriteRule ^/storedetails\.php$ http://www.thedomain.com/stores/gothamcity? [L,R=301]

しかし、これまでのところ何も機能しません。Wordpressで「ページが見つかりません」404エラーページが引き続き表示されます。

私の最も良い推測は、.htaccessのWordpressの部分の何かがこれを捨てているということですか?含まれるものは次のとおりです。

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

誰か助けてもらえますか?

4

1 に答える 1

1

これはうまくいくはずです:

<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /

RewriteCond %{QUERY_STRING} ^storeNum=18$ [NC]
RewriteCond %{HTTP_HOST} .*
RewriteRule ^storedetails\.php http://www.thedomain.com/stores/gothamcity? [L,R=301]

RewriteRule ^index\.php$ - [L]

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>

ただし、RewriteMap を使用して店舗番号を名前にマップすることをお勧めします。

于 2012-07-18T05:13:09.337 に答える