提取ID并重写URL

时间:2015-03-06 00:09:58

标签: .htaccess mod-rewrite

我将网站移到了wordpress。因此,我想将旧帖子重定向到相应的wordpress帖子。

旧网址包含我要提取的ID并映射到wordpress。

旧网址的示例:

www.mydomain.com/include.php?BLABLAcontentid=XXBLABLA' 

我要映射到新网址:

'www.mydomain.com/?p=XX'

其中XX是一个包含0-9的数字

我试图通过以下规则扩展wordpress重写

RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]

RewriteRule ^include(.*)$ index%1 [PT]
RewriteRule ^include(.*)$ index$1 [L,QSA]

RewriteCond %{QUERY_STRING} (.*)contentid=([0-9]+)
RewriteRule .* /?p=%2 [R,L]

如果我打电话给www.mydomain.com/index.php?BLABLAcontentid = XXBLABLA'它工作正常,因此我尝试用索引替换include,但这似乎不起作用。关于如何在这里进行的任何提示?

提前致谢并致谢,

1 个答案:

答案 0 :(得分:0)

您需要将重定向规则放在之前的wordpress路由规则中。重定向需要在内部路由发生之前发生。尝试:

RewriteCond %{QUERY_STRING} (.*)contentid=([0-9]+)
RewriteRule ^include\.php$ /?p=%2 [R,L]

RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]