任何想法如何启用干净的url在Drupal服务器是IIS?
快速谷歌search返回本指南, 在IIS上的Drupal Clean URL 。 这有帮助吗?
经过一些痛苦,我伟大的托pipepipe理员,我设法得到离子ISAPI重写filter(IIRF)2.0.1.1013 RELEASE工作在IIS v6.0。 我以为我会张贴我们如何得到它的工作; 希望我们的解决scheme能帮助你!
在我开始之前,我曾在不同types的服务器上工作,所以我在现有的Drupalconfiguration中遇到了一些麻烦。 所以,如果您已经在其他地方设置了该网站,请确保在转移到新服务器之前执行以下操作:
Global Redirect模块,请确保在Admin – > Site Configuration – > Global Redirect中将“Non-clean to Clean”选项设置为“Off” 以下是我们采取的步骤:
StatusUrl /iirsStatus RemoteOk 。 然后,我们通过http://mysite.example.com/iirsStatus来testingIIRS是否正在工作。 它应该为你打印一些状态行。 Global Redirect的“非干净清理”选项! 它会无休止地redirect页面。 IirfGlobal.ini:
RewriteEngine ON RewriteFilterPriority DEFAULT NotifyLog OFF
Iirf.ini:
# Do not pass to drupal if the file or directory exists RewriteCond %{REQUEST_FILENAME} -f [OR] RewriteCond %{REQUEST_FILENAME} -d RewriteRule ^ - [L] # Handle query strings on the end RewriteRule /(.*)\?(.*)$ /index.php\?q=$1&$2 [I,L] # now pass through to the generic handler RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule ^/(.*)$ /index.php?q=$1 [I,L]
Drupal网站上有一些关于在我目前使用的II6中使用干净URL的文档。 看看http://drupal.org/node/3854 。
简短的答案是从http://www.isapirewrite.com/下载ISAPI Rewrite 2 lite。 精简版版本只允许您为整个IISconfigurationconfiguration一组重写规则,但运行良好且免费。
付费版本允许您指定为在IIS中configuration的每个站点重写规则,但需要IIS的更多configuration。
我正在使用的ISAPI规则是:
#Helicon ISAPI_Rewriteconfiguration文件
#版本3.1.0.62
RewriteEngine On
RewriteCond%{REQUEST_FILENAME}!-f
RewriteCond%{REQUEST_FILENAME}!-d
RewriteCond%{REQUEST_URI}!= / favicon.ico
RewriteRule ^(。*)$ /index.php?q=$1 [L,QSA]
如果你的Drupal安装被安装在一个子目录下,你会想要调整这些规则。
我已经用了一段时间的离子重写…它是免费的,很好用
我设法通过安装URL重写器模块并使用以下代码在基本目录中创build一个web.config文件来实现:
<?xml version="1.0" encoding="UTF-8"?> <configuration> <rewrite> <rules> <rule name="Drupal clean URLs" enabled="true"> <match url="^(.*)$" ignoreCase="false" /> <conditions logicalGrouping="MatchAll"> <add input="{REQUEST_FILENAME}" matchType="IsFile" negate="true" /> <add input="{REQUEST_FILENAME}" matchType="IsDirectory" negate="true" /> <add input="{REQUEST_URI}" negate="true" pattern="/favicon.ico$" /> </conditions> <action type="Rewrite" url="index.php?q={R:1}" appendQueryString="true" /> </rule> </rules> </rewrite> </configuration>
在这篇文章中还有更多的信息:“你还需要安装一个修补程序来纠正在通过FastCGI模块使用PHP时的REQUEST_URI行为,更多的信息请参见KB954946这个问题的一个症状是当所有表单提交被redirect到网站的首页“。
IIRF是一个免费的URL重写器,在IIS上工作,并与Drupal合作。