在IIS7上使用Joomla重写URL

时间:2009-02-22 01:28:44

标签: mod-rewrite iis-7 seo joomla

我在IIS7上运行Joomla 1.5.9。我现在正在尝试使用Joomla全局配置页面中的SEO设置。

首先,我玩弄了搜索引擎友好URL(删除了URL的查询部分);这很好。

我还尝试启用“使用Apache mod_rewrite”。我安装了“用于IIS 7.0的Microsoft URL重写模块”并按照http://learn.iis.net/page.aspx/527/joomla-on-iis添加了web.config。单击菜单链接时,这似乎有效,因为我不再在URL中看到index.php。地址栏会更新为正确的URL,但显示的内容始终是主页的内容。我在IE和谷歌Chrome中都试过了同样的结果。加载后刷新页面没有任何区别。

我尝试重新启动IIS7,但没有什么区别。

编辑:在我按照下面的建议后(按照http://www.mydotnetworld.com/post/2008/10/24/URL-Rewriting-In-Joomla-15-on-IIS-7.aspx的说明进行操作:打开快速cgi,修改php.ini,导入重写规则而不是将它们放在web.config中),我现在得到了404而不是仅显示主页的内容。 URL似乎仍然被正确重写。所以,不同的行为,但仍然不起作用。我不确定这是有用的信息,但这两个字段显示在404页面中: 请求的网址http://localhost:80/joomla_course/seasonal-specialties 物理路径C:\ inetpub \ wwwroot \ joomla_course \ seasonal-specialties 物理路径应该是“未重写”的URL吗?或者预计会是这样吗?

编辑2:Oho!我发现在Joomla论坛上发布了同一个问题的人:http://forum.joomla.org/viewtopic.php?f=543&t=364706&p=1598137#p1598137。但是,也没有答案。

关于如何诊断(甚至更好,修复:))的任何想法?

谢谢!

2 个答案:

答案 0 :(得分:1)

我现在就开始工作了。关键是要确保FastCGI用于运行php(根据http://learn.iis.net/page.aspx/246/using-fastcgi-to-host-php-applications-on-iis-70),并确保启用“使用Apache mod_rewrite”。如果关闭“使用Apache mod_rewrite”但IIS7中存在重写规则,则HTML显示但没有样式或图像。

使用FastCGI的要求很奇怪(与http://maximumpcguides.com/windows-vista/how-to-create-a-windows-vista-iis7-mysql-php-web-server中的建议相矛盾,这是我以前用来设置php的原因)。除了URL重写之外,一切似乎都在使用FastCGI时起作用。

似乎导入规则(如http://www.mydotnetworld.com/post/2008/10/24/URL-Rewriting-In-Joomla-15-on-IIS-7.aspx中所述)或手动将它们添加到web.config文件(如http://learn.iis.net/page.aspx/527/joomla-on-iis中所示)将起作用。

答案 1 :(得分:0)

看起来web.config中的规则有问题。只是对您链接的文章发表评论并不是唯一有此问题的人。我会删除web.config,然后按照here列出的步骤进行操作。