2011-04-20 47 views
0

WordPress的专家:mod改写为基于uri段的路由(wordpress permalink)

因此,我的wordpress实例目前设置为使用友好的网址。我现在的重写规则看起来像这样:

RewriteEngine On 
RewriteBase/
RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteRule . /index.php [L] 

这基本上意味着:一切都发送到index.php的调度。

我需要做的是每当有人访问我的网页/促销时,我将剩余的uri发送给该控制器(这是一个通过模板名称:Promo附加到页面的文件promo.php),但它会仍然需要通过index.php管道来做到这一点。

概括地说,我想/宣传/ fakecompany技术上这样的表现给WordPress的:index.php页面=促销& fakecompany

甚至重定向,将采取任何事物的第二段超越/促销并创建一个查询字符串,即它是一种动态类型的:

Redirect 301 /promo/fakecompany /promo/?fakecompany 
Redirect 301 /promo/fakecompany/referpage /promo/?fakecompany&referpage 

有没有办法做到这一点?或者可能是更优雅的解决方案?最坏的情况变得更糟了,我现在只需要在重定向中硬编码:

在此先感谢。

回答

1

您当前的规则说:重定向任何不属于常规文件或目录的index.php

对于你的要求:

RewriteRule ^/promo/([^/]+)$ index.php?page=promo&$1 [L] 

RewriteRule ^/promo/([^/]+)/([^/]+)/$ /promo/?$1&$2 

应工作(只要你把它放在现行规则之前)