2011-03-15 78 views
0

尝试访问http://enkelzijdig.nl/schaak-demo时,收到消息“在此服务器上未找到请求的URL/schaak-demo”。无论我尝试多少次都没有关系。与www的链接也一样。404关于直接访问页面但未访问其他页面后

当我先去http://enkelzijdig.nl/demo/,然后到第一段的链接,它就像一个魅力。每一次之后,它都像一个魅力。删除Cookie后,它仍然有效。关闭浏览器并重新启动后,它仍然有效。

怎么回事?

我的.htaccess看起来像这样

### demo 
RewriteCond $1 !css/ 
RewriteCond $1 !sites/ 
RewriteCond $1 !skins/ 
RewriteCond $1 !config/ 
RewriteRule demo/(.*) /demo/php/$1 [L]  

在我CONFIGFILE我得到的网站网址,我不喜欢这样写道:

function set_path_to_client_website(){ 
    $servername = parse_url($_SERVER['SERVER_NAME']); 
    $serveruri = parse_url($_SERVER['REQUEST_URI']); 
    $_SESSION['host'] = $servername['path']; 
    //if string between first and second slash ends with demofolder then add this part of the string to the session[host]. 
    $pos = strpos(strtolower($serveruri['path']), strtolower(substr(get_demo_folder(),1,-1))); 
    if ($pos > -1){ 
     $_SESSION['host'] = $servername['path'] . substr(strtolower($serveruri['path']), 0, $pos + strlen(get_demo_folder()) -1); 
    } else{ 
     $_SESSION['host'] = $servername['path'] . '/'; 
    } 
    return $_SESSION['host']; 
} 

这是足够的信息?我搞不清楚了。任何暗示是赞赏。 谢谢。

金桤

+0

你可以检查一次会话是否在你首次访问时启动$ _SESSION ['host'] = $ servername ['path'];遇到?也许您的会话cookie没有改变,只需在浏览器中删除cookie即可。 –

回答

0

http://enkelzijdig.nl/schaak-demo/(带斜线)的作品。 您是否尝试将Options -MultiViews添加到.htaccess文件中?

+0

我加了它,但无济于事。但是,我很高兴地发现斜线节省了我。现在我有点急于解决这个问题。你认为其他选择可能导致它吗?选项+ FollowSymLinks -Indexes -MultiViews –

+0

它可能与您的重写规则有关,因为“/ schaak-demo /”与它匹配。这是想要吗?也许你需要将它改为'RewriteRule^demo /(.*)/ demo/php/$ 1 [L]' – Capsule