托管网站的这个问题是,我无法在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 文件中,它的行为不同了,但仍然无法正常工作。如果我加载一个在 joomla 目录下运行 phpInfo() 的 .php 文件,在 “Server API” 下会显示 CGI/FastCGI 。这是 FastCGI 被使用的确认 吗?为什么 web.config 中的处理程序指向 modules="CgiModule" 而不是 modules="FastCgiModule" (我甚至不确定是否存在 FastCgiModule,但我对 CgiModule 的提及感到怀疑)。
这是一个托管的网站,所以据我所知,我无法访问 ApplicationHost.config 文件...