问题描述
|
我已将文件'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中不存在的页面一样。
我在这里想念什么?
解决方法
如果我错了,请纠正我,但是如果您只想将转到example.com/events的人定向到example.com/events.php,那么您可以像这样进行重定向。
重定向301 / events http://www.example.com/events.php
, 请尝试以下操作:
# 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的直接请求匹配。