我刚刚获得一个使用 Smarty 的新脚本,并且我确实设置了一个 nginx VPS,但是脚本的所有者说它只在 apache 上运行(没有质疑)。
我重新安装了服务器,但这次使用的是 Apache2,主页加载并且数据库连接正常,然而当它尝试访问模块时它无法正常工作。
例如,这是一个注册模块(/module/register/),注册链接是 mysite.com/register/,这意味着使用 mysite.com/module/register/ 中的文件,但只保留 /register URL。
但是我刚刚收到一个 404 错误,提示 mysite.com/register/ 不存在(确实不存在),但是它没有使用正确的目录。
在他的演示站点上,这可以正常工作,但在我的站点上却不行,他说这一定是我的服务器的问题。
所以我的问题是,我需要确保我的服务器上有什么可以允许 smarty / 模块 / 重写 运行?
答案1
您可以在这里找到要求:
http://www.smarty.net/docsv2/en/installation.tpl#installation.requirements
要求 Smarty 需要运行 PHP 4.0.6 或更高版本的 Web 服务器。
Nginx 或 Apache 应该可以正常工作。
下一步是将 smarty 正确地包含在你的脚本中:
http://www.smarty.net/docsv2/en/installing.smarty.basic.tpl
网址
我怀疑您遇到的问题是,您没有正确设置您正在使用的框架的 SEF URL。您需要配置您的 Web 服务器才能执行此操作(如果您使用的是 PHP 框架,它可能已经有一个您可以配置或启用的 Apache .htaccess 文件)。