我在使用PHP脚本在新服务器上工作时遇到一些问题 - 我已经从apache转到了Litespeed服务器,我无法让小CMS在其上工作。
简而言之,.htaccess包含:
ServerName www.domain.co.uk
ServerAlias domain.co.uk
DocumentRoot /home/domain/public_html/
<Directory /home/ttedomainpublic_html/>
RewriteEngine On
RewriteCond %{HTTP_HOST} ^domain.co.uk [NC]
RewriteRule ^(.*)$ index.php [L]
RewriteRule ^(.*) http://www.domain.co.uk/$1 [L,R=301]
RewriteBase /
RewriteRule ^(admin|content|css|images|img|non_public|pdf|renderers|scripts|sendmail|templates) - [L]
</Directory>
index.php包含:
<?php
include("non_public/config.php");
// Get the request URI
$requestUri = $_SERVER['REQUEST_URI'];
$requestUri = preg_replace("~^/~","",$requestUri);
$requestUri = str_replace("/","_",$requestUri);
// Make sure that we'll get the index
if(empty($requestUri)) $requestUri = "index";
if(file_exists(ROOT_PATH . "content/" . $requestUri))
{
// Include the header
include(ROOT_PATH . "templates/header.php");
// Check if there's a renderer
if(file_exists(ROOT_PATH . "renderers/" . $requestUri . ".php"))
{
include(ROOT_PATH . "renderers/" . $requestUri . ".php");
}
else
echo file_get_contents(ROOT_PATH . "content/" . $requestUri);
// Include the footer
include(ROOT_PATH . "templates/footer.php");
}
else
echo file_get_contents(ROOT_PATH . "content/404");
?>
所以上面的内容应该从 content / 中保存的内容文件,模板中的一些内容和来自 renderers / 的一些基本内容。目录
我希望到目前为止有意义吗?这在Apache服务器上运行了好几年,但在Litespeed下无效。 当你去 www.domain.co.uk/notes 时,目前的最终结果只是一个404页面,因为很明显 www.domain.co.uk/notes/index.php 等不存在,服务器似乎无法将页面放在一起。
任何人都可以指出我正确的方向吗?
非常感谢......
答案 0 :(得分:0)
尝试启用重写日志记录并访问该页面。重写日志应该解释重写规则中发生的事情。