2012-07-18 59 views
1

我已經重建了一個網站,使用了一些自定義的PHP就可以提供個人店鋪的頁面,像這樣的網址:重定向無 - 加WordPress的

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

新網站是由WordPress ,每個個體商店將生活在一個命名的子目錄,像這樣:

http://thedomain.com/stores/gothamcity 

我一直想我已經在計算器發現解決方案,似乎都對這個變化: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

這應該工作:

<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指令雖然存儲號映射到名字。

+0

我現在試着回答一下,看看它是如何工作的。當我這樣做時,你能告訴我一個RewriteMap是什麼嗎? – Kirkman14 2012-07-18 05:15:08

+0

你的答案確實有效!你能向我解釋你做了什麼不同嗎?這是什麼%{HTTP_Host}。*位? – Kirkman14 2012-07-18 05:17:16

+0

很高興聽到它的作品:)我不認爲HTTP_HOST的東西是必要的,因爲它聽起來像你在同一主機上重定向。我只是添加它,因爲您的早期規則顯式設置重定向的主機。我認爲唯一不同的是規則的順序。另外RewriteRule與最初的'/'不匹配。 – Ansari 2012-07-18 05:26:14