我正在尝试用日历插件替换事件的旧存档页面。在archive.php
我有以下代码:
<?php get_header();
$cat = get_query_var('cat');
$yourcat = get_category ($cat);
global $gateway_parent_id;
if ( $yourcat->slug == 'events' ){
include 'page-forum.php';
}else{
?>
当我将第8行更改为
include 'http://www.mysite.com/events/';
我收到以下错误:
Warning: include() [function.include]: http:// wrapper is disabled in the server configuration by allow_url_fopen=0 in /data/23/2/34/80/21912080/user/2412808/htdocs/wp-content/themes/ga/archive.php on line 8
Warning: include(http://www.mysite.com/events/) [function.include]: failed to open stream: no suitable wrapper could be found in /data/23/2/34/80/21912080/user/2412808/htdocs/wp-content/themes/ga/archive.php on line 8
Warning: include() [function.include]: Failed opening 'http://www.mysite.com/events/' for inclusion (include_path='.:/usr/services/vux/lib/php') in /data/23/2/34/80/21912080/user/2412080/htdocs/wp-content/themes/ga/archive.php on line 8
我做错了什么?
答案 0 :(得分:1)
我在Wordpress中找到了一个更好的解决方案 - 这适用于重定向到绝对网址并避免使用htaccess:
<?php
wp_redirect( $location, $status );
exit;
?>
$ location是要指向的网址,$ status是301(永久重定向)或302(临时)
答案 1 :(得分:0)
您正尝试通过包含该文件。在服务器的PHP配置中禁用的url。您可以通过在php.ini中设置allow_url_fopen
来解决此问题,或者更好地使用文件路径。
要通过文件路径包含文件,请使用相对于当前php文件的文件名的完整路径,并根据需要使用../
上传目录。例如,如果我想在/root/test/save.php
中加入/root/dir/working/go.php
,我会使用include ('../../test/save.php');
或include('/root/test/save.php');
。
答案 2 :(得分:0)
include()及其亲属采用文件系统路径,而不是相对于文档根目录的Web路径。要获取父目录,请使用../
例如,如果要包含的文件与archive.php位于不同的目录中,例如 includes ,则可以执行以下操作:
include('../includes/file.php');
如果以/开头,将使用绝对系统文件路径(换句话说:任何以斜杠开头的路径都是绝对路径)。例如:
include('/home/user/public_html/project/include/config.php');
我希望这能回答你的问题。