我有一个网络,其中有两个版本:一个是西班牙语,一个是英语。它们位于不同的服务器和不同的域中。所以他们实际上表现得像两个不同的网站。
我只有一个ASP .NET项目,根据域名,我会以西班牙语或英语显示所有文本。这是正常的。
我首先用西班牙语开发它,所以我的页面名称是用西班牙语写的,比如“Buscar.aspx”(“Buscar”的意思是“搜索”)。
我想翻译页面的名称,以便在浏览器的地址栏中显示英文名称。例如,对于我的页面“Buscar.aspx”,我想在地址栏中显示“Search.aspx”。
所以我的问题是:有没有办法声明某种“别名”(或其他一些机制),这样我就可以通过一个ASP处理对“Buscar.aspx”和“Search.aspx”的请求。 NET页面,但仍然在地址栏中显示为两个不同的地址?
答案 0 :(得分:3)
<强> URL Rewriting 强>
您可以将Search.aspx
重写为Buscar.aspx
<rewrite>
<rules>
<rule name="Search">
<match url="^Search.aspx" />
<action type="Rewrite" url="Buscar.aspx" />
</rule>
</rules>
</rewrite>
然后可以将这些规则放在您的英文web.config文件中
答案 1 :(得分:3)
看一下路由。您可以在此处找到一些文档:ASP.NET Routing
路由意味着您可以指定映射到某个ASPX的路径。如果您根据语言设置切换路由配置,则可以获得所需:)