我有一个托管站点,但在配置 Joomla 时遇到问题(在 IIS7 上运行 Joomla + php + mySQL + win server 2008)。我在本地机器上运行了类似的配置(IIS7 + vista x64 上的 Joomla + php + mySQL),所以我至少能够按照各种教程中关于如何设置它的说明进行操作。
托管站点的这种症状是我无法在 Joomla 中打开任何 SEO 设置(甚至不是第一个设置,“搜索引擎友好 URL”)。我得到 404(未找到文件)或 URL 显示正确重写,但始终显示主页的内容。我在我的家用机器上遇到了类似的问题,原来是因为我没有使用 FastCGI 来托管 php,所以我决定在托管站点上进行调查。
无论如何,我在托管站点上托管 joomla 的目录的 web.config 文件中注意到以下行:
<add name="Plesk_Handler_3522909676" path="*.php" verb="*" modules="IsapiModule" scriptProcessor="c:\program files (x86)\parallels\plesk\additional\pleskphp5\php5isapi.dll" resourceType="Either" />
根据过去的经验,我知道 php 在 fastCGI 下不运行时会出现一些问题。我注意到根文件夹中的 web.config 使用了以下行:
<add name="Plesk_Handler_0286090609" path="*.php" verb="*" modules="CgiModule" scriptProcessor="c:\program files (x86)\parallels\plesk\additional\pleskphp5\php-cgi.exe" resourceType="Either" />
我将它复制到 joomla 目录的 web.config 中,并得到了不同的行为......但仍然无法正常工作。如果我在运行 phpInfo() 的 joomla 目录中加载 .php 文件,则在 Server API 下它会显示 CGI/FastCGI 。这是对正在使用 FastCGI 的肯定确认吗?为什么 web 配置中的处理程序指向 modules="CgiModule" 而不是 modules="FastCgiModule" (我什至不确定是否存在,但我只是发现提到 CgiModule 很可疑)。
这是一个托管站点,据我所知,我无权访问 ApplicationHost.config 文件...