使用参数将URL重定向到URL而不使用Wordpress

时间:2012-07-18 05:07:41

标签: wordpress apache .htaccess mod-rewrite redirect

我重建了一个网站,该网站使用一些自定义的php来提供个人商店页面,其中包含以下网址:

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

新网站由Wordpress提供支持,每个商店都将存在于一个命名的子目录中,如下所示:

http://thedomain.com/stores/gothamcity

我一直在尝试在stackoverflow上找到的解决方案,这似乎都是变体:301 Redirect of old url with parameters to a path without parametes

以下是一个例子:

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

但到目前为止没有任何作用。我继续在Wordpress中获得“找不到页面”404错误页面。

我最好的猜测是,Wordpress中.htaccess中的某些内容会将其丢弃?以下是它们的内容:

# 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

有人可以帮忙吗?

1 个答案:

答案 0 :(得分: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将商店号码映射到名称。