如何在wordpress网站上添加其他mod_rewrite规则?

时间:2011-06-01 02:00:47

标签: wordpress mod-rewrite

我已将'events.php'文件上传到我的wordpress网站(wordpress已安装在我的根目录中)。

我想为此文件制作一个mod_rewrite,以便可以转到mydomain.com/events

我尝试过这样的事情:

# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /

RewriteRule %events$ events.php [L]

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

# END WordPress

哪个不起作用。

我还发现我可以使用内置函数通过wordpress添加重写标记,如下所示:

add_rewrite_rule('^events?','/events.php','top');

这也没有用 - 我只是在我的默认404页面上,好像它在我的wordpress中到达了一个不存在的页面。

我在这里缺少什么?

2 个答案:

答案 0 :(得分:0)

如果我错了,请纠正我,但如果您想要将example.com/events定向到example.com/events.php,那么您可以像这样进行重定向。< / p>

重定向301 /事件http://www.example.com/events.php

答案 1 :(得分:0)

尝试以下方法:

# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /

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

# END WordPress

您为该网址设置的指令不匹配:

RewriteRule %events$ events.php [L]

此外,该指令现在低于检查现有文件的条件,因此它永远不会匹配events.php的直接请求。