Přestat vzorové stránky z automatického koriguje nebo upravuje URL

hlasů
0

Jak mohu zastavit vzorovou stránku od auto-oprava nebo seřizování mé adresy URL? Jsem pomocí mapa stránek, a když hlavní stránka je v jiném adresáři, že zmatky to na adresy URL.

Edit nechci to udělat na celém světě, chci to udělat na individuální vzorové stránce.

Edit 2 nemám přístup k URL. Jsou generovány sitemap.

Editovat 3 Když můj pán strana je \browsers\iphone\. URL vytvořené pro odkazů je \browsers\iphone\contact-us.aspx. Když je sitemap databound do menu, je hodnota správná.

Položena 24/02/2010 v 15:25
zdroj uživatelem
V jiných jazycích...                            


1 odpovědí

hlasů
1

Urls ve vaší hlavní stránce by měla být buď relativní ke kořenu, nebo použít vlnovku-lomítko ~/přístup, ukázat cestu z kořenového webu.

Máte-li zvládnout stránka /App_Master/MyMaster.mastera máte nějaké odkazy v něm, zda jsou takto:

<link rel="Stylesheet" type="text/css" href="/Path/From/The/Root.css" />
<script type="text/javascript" src="/Path/From/The/Root.js" ></script>

<a href="/Path/From/TheRoot.html">A non server-side link should start in forward slash and provide entire path</a>

<asp:HyperLink ID="MyHyperLink" runat="server" NavigateUrl="~/Path/to/Page.aspx" Text="Use the tilde-slash and use path from site-root"/>

Místo toho, aby věci, jako:

<link rel="Stylesheet" type="text/css" href="../SomeRelative/Path.css" />
<script type="text/javascript" src="Path/Not/From/The/Root.js" ></script>

UPRAVIT:

Jak se vám ukládání souboru Sitemap? Standardní .net formát XML sitemap? Adresy URL v souboru Sitemap by měl vždy odkazovat cesty z kořene pomocí tildes, jako je například~/My/Path.aspx

EDIT 2:

Díky za objasnění zdroj dat a formát.

Příčinou problému je opět, že adresy URL uložené v mapě webu zdroj dat (SQL Server v tomto případě), není cesty založené na kořenovém webu. Je to běžná praxe s ASP.NET sitemaps pro uložení URL jako ~/mypage.aspxne mypage.aspx. To je bez ohledu na zvolený formát ukládání (xml vs SQL databáze, atd)

Já bych přesto doporučujeme zvážit aktualizaci adresy URL v databázi, že je od kořene pomocí ~/mypath.aspx. To je běžná praxe. Tam je opravdu žádný důvod ke změně funkce třídy MasterPage se nevyřeší URL.

Nezapomeňte, že od přírody, tradiční html léčí:

  • relativní url mypage.aspxjako ve stejné složce
  • relativní url ../mypage.aspxjako jedna složka nahoru
  • url /mypage.aspxz kořene

ASP.NET je založen na tom s jednou možností zápisu:

  • url ~/mypage.aspxz kořene

pomocí adresy URL contact-us.aspx by měla stavět z aktuální stránky od přírody, protože to je, jak i standardní html srca hrefcesty pracovat. Máte-li dát své sitemapdatasource a nabídku na obyčejný stránky, vnořené do složky a zapomenout na používání vzorové stránky, zjistíte, že problém stále přetrvává.

Líto, že hádavý, ale já prostě nevidím hodnotu v úpravě základní funkce url budovy na webu, když URL v zdroj dat nejsou shodné s jednoduchým formátu ~/path/to/some/file.aspx.

Možná, že někdo může přizvukovat, jestli jsem něco chybí ...

Odpovězeno 24/02/2010 v 15:44
zdroj uživatelem

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more