gpt4 book ai didi

asp.net-mvc-3 - 为什么/eurl.axd/Gibberish 被添加到我的页面末尾?

转载 作者:行者123 更新时间:2023-12-01 06:42:59 28 4
gpt4 key购买 nike

我一直在努力将我们的网站移至公共(public)测试版服务器,在我们配置 IIS 以匹配内部测试服务器后,我注意到了这个问题。该应用程序仍然有效,但它最后有这些丑陋的东西。

是什么导致这个显示?我已经设置了 ISAPI 过滤器,并为 aspnet_isapi.dll 添加了一个通配符。

更新。

我在测试服务器上完全删除并重新创建了我的网站,以验证网址的外观。

重新创建站点以匹配 beta 后,我的测试服务器不会在 url 中显示任何 eurl.axd/gibberish。

这是配置的快速概述

IIS6/Windows 2003/Helicon Isapi 重写运行。

网站 <--asp 经典 |默认应用程序池 |自定义 .htaccess 文件
|
|
+-----------dr405 <-- MVC3 应用程序 | .Net 4.0 应用程序池

据我所知。 beta 正好反射(reflect)了这一点。但是,假设它没有。什么变化可能导致问题?

由于该站点在一台服务器上运行,而不是在另一台服务器上运行,我不希望有任何涉及修改我的应用程序、编辑我的 .htaccess 文件等的解决方案......

Web.config system.web 部分

    <customErrors mode="Off"/>
<httpRuntime maxRequestLength="1000000000" />
<compilation debug="true" targetFramework="4.0">
<assemblies>
<add assembly="System.Web.Abstractions, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" />
<add assembly="System.Web.Helpers, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" />
<add assembly="System.Web.Routing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" />
<add assembly="System.Web.Mvc, Version=3.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" />
<add assembly="System.Web.WebPages, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" />
<add assembly="System.Data, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
<add assembly="System.Data.Entity, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
<add assembly="System.Data.Linq, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
</assemblies>
<buildProviders>
<add extension=".cshtml" type="System.Web.WebPages.Razor.RazorBuildProvider, System.Web.WebPages.Razor" />
</buildProviders>
</compilation>
<authentication mode="Forms">
<forms loginUrl="~/Account/LogOn" timeout="90000" />
</authentication>
<membership>
<providers>
<clear />
<add name="AspNetSqlMembershipProvider" type="System.Web.Security.SqlMembershipProvider" connectionStringName="ApplicationServices" enablePasswordRetrieval="false" enablePasswordReset="true" requiresQuestionAndAnswer="false" requiresUniqueEmail="false" maxInvalidPasswordAttempts="5" minRequiredPasswordLength="6" minRequiredNonalphanumericCharacters="0" passwordAttemptWindow="10" applicationName="/" />
</providers>
</membership>
<profile enabled="true" defaultProvider="dr405ProfileProvider" inherits="Tangible.Profiles.DR405Profile">
<providers>
<clear />
<add name="AspNetSqlProfileProvider" type="System.Web.Profile.SqlProfileProvider" connectionStringName="ApplicationServices" applicationName="/" />
<add name="dr405ProfileProvider" type="System.Web.Profile.SqlProfileProvider" connectionStringName="ApplicationServices" applicationName="/" />
</providers>
</profile>
<roleManager enabled="true">
<providers>
<clear />
<add name="AspNetSqlRoleProvider" type="System.Web.Security.SqlRoleProvider" connectionStringName="ApplicationServices" applicationName="/" />
<add name="AspNetWindowsTokenRoleProvider" type="System.Web.Security.WindowsTokenRoleProvider" applicationName="/" />
</providers>
</roleManager>
<pages>
<namespaces>
<add namespace="System.Web.Helpers" />
<add namespace="System.Web.Mvc" />
<add namespace="System.Web.Mvc.Ajax" />
<add namespace="System.Web.Mvc.Html" />
<add namespace="System.Web.Routing" />
<add namespace="System.Web.WebPages" />
<add namespace="System.Data" />
</namespaces>
</pages>
</system.web>

更新 2

对不起,如果我混淆了任何人。我有一个集成的测试服务器。不向公众公开。该网站在那里正常工作。面向外部的 beta 服务器是我遇到问题的地方。生产服务器甚至还不是所有这一切的一个因素。

更新 3

这是我的 .htaccess 文件。我仍然认为这不需要任何修改,因为此文件和应用程序在我的集成测试服务器上正常运行。

大多数文件的目的是修复一些非常丑陋的 url,并自动将用户指向移动的内容。没有规则适用于我遇到问题的应用程序。
RewriteEngine On
RewriteBase /

RewriteCond %{HTTP_HOST} (www.sarasotaproperty.net|www.sc-pa.net|sc-pa.net|sarasotaproperty.net) [nc]
RewriteRule ^(.*)$ http://www.sc-pa.com/$1 [R=301,NC,QSA]

RewriteMap lc int:tolower

RewriteCond %{REQUEST_URI} [A-Z]
RewriteCond %{REQUEST_URI} !.*(js|css|inc|jpg|gif|png)
RewriteRule (.*) ${lc:$1} [R=301]


RewriteCond %{REQUEST_URI} !.*(web_content/pdf/).*
RewriteCond %{SCRIPT_FILENAME} !-d
RewriteCond %{SCRIPT_FILENAME} !-f
RewriteRule (?!.*/web_content/pdf/)([^/]*?\.pdf) /web_content/pdf/$1 [R=301]

RewriteRule pasite-(.*\.asp)$ /content/$1 [R=301,QSA]
RewriteRule home\.asp$ / [R=301]

RewriteRule ^search/tpp/?$ content/search_tangible.asp
RewriteRule ^search/?$ content/search_real_property.asp
RewriteRule ^downloads/?$ content/downloads.asp
#RewriteRule ^(.*?view)/([^/]*)/([^/]*)(/.+)? /search/parcel_detail.asp?account=0&$2=$3 [NC,LP,QSA,R=301]

最佳答案

当 IIS 中的虚拟文件夹与生产服务器中的虚拟文件夹匹配时,它会按预期工作;但是,如果虚拟文件夹不同,您会看到奇怪的 URL?

听起来好像 .htaccess 中的重写规则特定于生产设置。

您是否可以在 beta 服务器上对 helicon 的 httpd.conf/httpd.ini 进行更改,以便重写规则按预期工作?我不确定规则应该是什么样子,自从我使用类似的东西以来已经有一段时间了。 :/

这是 httpd.ini 上的文档:http://www.isapirewrite.com/docs/#conffile

一个听起来与您的情况非常相似的线程,可能会帮助您指出正确的方向:http://www.helicontech.com/forum/15029-ASPNET_40_MVC_and_ISAPI_Rewrite_3.html

在 httpd.conf 中设置重写规则后,您可能需要阻止 .htaccess 中的规则运行。我认为 AllowOverride None 会做到这一点。这是一个例子:

<Directory "/parentFolder/dr405">
AllowOverride None
</Directory>

我对 httpd.conf 和重写的内存充其量只是粗略的。我希望这有助于为您指明正确的方向。

编辑

您是否尝试过此处答案中给出的建议:
https://stackoverflow.com/a/3327031/62054

这听起来与您遇到的问题非常相似。

关于asp.net-mvc-3 - 为什么/eurl.axd/Gibberish 被添加到我的页面末尾?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8580213/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com