2011-06-01 97 views
0

我上传了一个'events.php'文件到我的WordPress站点(wordpress安装在我的根目录下)。如何在wordpress网站上添加额外的mod_rewrite规则?

我想提出一个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中存在的页面。

我在这里错过了什么?

+0

我想要事件去events.php – willdanceforfun 2011-06-01 04:21:52

回答

0

纠正我,如果我错了,但如果你想要的是去example.com/events的人转到example.com/events.php,那么你可以像这样做一个重定向。

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

+0

这可能会工作,但是将events.php引导到并非我想要做的。我会发送更多的变量,并且会有一个更复杂的url结构,例如/ events/13/3,作为发送事件ID和时间ID的一种方式。这将翻译成类似events.php?event_id = 13&time_id = 3。我确信我也可以做一个重定向,但我正在寻找一个干净的解决方案。 – willdanceforfun 2011-06-01 04:54:55

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 

,你曾经为URL设置不符合该指令:

RewriteRule %events$ events.php [L] 

此外,该指令是现在低于检查现有文件的条件,以便它绝不匹配对events.php的直接请求。