2011-11-18 99 views
0

我用本地主机(ASP.NET 4)这些角色在服务器上URLRewriter作品和它的作品:在本地主机上,但没有

<rewriter> 
    <rewrite url="~/man/(.+)" to="~/man/$1" processing="stop" /> 
    <rewrite url="~/man/^(/.+(\.gif|\.png|\.jpg|\.ico|\.pdf|\.css|\.js|\.axd)(\?.+)?)$" to="~/man/$1" processing="stop" /> 
    <rewrite url="~/files/^(/.+(\.gif|\.png|\.jpg|\.ico|\.pdf|\.css|\.js|\.axd|\.pdf|\.doc|\.ppt)(\?.+)?)$" to="~/files/$1" processing="stop" /> 
    <rewrite url="~/man/" to="~/man/default.aspx" processing="stop"/> 
    <rewrite url="~/style/(.+)" to="~/style/$1" processing="stop" /> 
    <rewrite url="~/images/(.+)" to="~/images/$1" processing="stop" /> 
    <rewrite url="^(/.+(\.gif|\.png|\.jpg|\.ico|\.pdf|\.css|\.js|\.axd)(\?.+)?)$" to="$1" processing="stop" /> 
    <rewrite url="~/register.aspx" to="~/register.aspx" processing="stop" /> 
    <rewrite url="~/(.+)" to="~/default.aspx?pn=$1" /> 
    </rewriter> 

例如,http://localhost/myweb/foohttp://localhost/myweb/default.aspx?pn=foo但在Web服务器上http://myweb.xx/foo'404 - File or directory not found.'

回答

0

哪个版本的IIS有服务器,因为在II6中有不同的方式和在II7有不同的方法。

+0

微软-IIS/7.5 – Maysam

0

检查您的Web.Config的哪一部分配置了您的规则,因为System.web用于VS Development Server(“Cassini”),而IIS6和System.WebServer用于IIS7。

您还可以看看here

+0

我已经在本地主机上IIS7和服务器 – Maysam

+0

上的IIS 7.5,你可以粘贴你的web.config的更多的信息,特别是系统。 web和system.webserver部分?另外,你有runAllManagedModulesForAllRequests =“true”? –

+0

是的我有,我改变了表达,然后它的工作!改成这样:如果你把它写成答案我会把这个标记为答案。 – Maysam

相关问题