Wordpress专家:
所以,我的wordpress实例目前设置为使用友好的网址。我目前的重写规则看起来像这样:
RewriteEngine On
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
这基本上意味着:将所有内容发送到index.php进行调度。
我需要做的是,每当有人访问我的页面/促销时,我将其余的uri发送到该控制器(这是一个文件promo.php通过模板名称:Promo附加到页面上)但它仍然会需要通过index.php管道才能做到这一点。
简而言之,我希望/ promo / fakecompany在技术上表现得像wordpress:index.php?page = promo& fakecompany
甚至是一个重定向,它会占用/ promo之外的任何东西的第二段,并从中创建一个查询字符串,即动态类型:
Redirect 301 /promo/fakecompany /promo/?fakecompany
Redirect 301 /promo/fakecompany/referpage /promo/?fakecompany&referpage
有办法做到这一点吗?或者可能是更优雅的解决方案?最糟糕的是,我现在只需要在重定向中进行硬编码:
提前致谢。
答案 0 :(得分:1)
您当前的规则是:将任何非常规文件或目录的内容重定向到index.php
根据您的要求:
RewriteRule ^/promo/([^/]+)$ index.php?page=promo&$1 [L]
或
RewriteRule ^/promo/([^/]+)/([^/]+)/$ /promo/?$1&$2
应该有效(如果你把它放在现行规则之前)