我对mvc的seo友好网址设计有点困惑 ....例如以下网址: http://myapp/venues/resturants.aspx?location = central&orderBy = top-rated
使用我的mvc应用程序,我将其映射如下:
http:// myapp/venues/list/resturants/central/top-rated
{controller}/{action}/{category}/{location}/{order}
现在唯一的问题是位置和订单是可选的...因此应该可以提交如下请求:http:// myapp/venues/list/resturants/top-rated.当请求到达控制器动作时,这被证明是一个问题,位置参数自然地获得了"最高评级".
有什么建议?我正在考虑使用显式查询字符串来处理多个参数,但这确实是我的最后一个选项,因为我不想太多地牺牲SEO.
有没有人遇到过这种困境?你是怎么处理的?
提前致谢!
HTTP GET查询字符串是键/值对的有序序列:
?spam=eggs&spam=ham&foo=bar
Run Code Online (Sandbox Code Playgroud)
是,具有某些语义,相当于以下字典:
{'spam': ['eggs', 'ham'], 'foo': bar}
Run Code Online (Sandbox Code Playgroud)
这恰好适用于所请求页面的布尔属性:
?expand=1&expand=2&highlight=7&highlight=9
{'expand': [1, 2], 'highlight': [7, 9]}
Run Code Online (Sandbox Code Playgroud)
如果要停止扩展id为2的元素,只需将其弹出expand值,然后再次对查询字符串进行urlencode.但是,如果你有一个更多的模态属性(有3个以上的选择),你真的想要代表一个这样的结构:
{'highlight_mode': {7: 'blue', 9: 'yellow'}}
Run Code Online (Sandbox Code Playgroud)
其中相应id键的值是已知枚举的一部分.将此编码为查询字符串的最佳方法是什么?我正在考虑使用一系列两元组,如下所示:
?highlight_mode=(7,blue)&highlight_mode=(9,yellow)
Run Code Online (Sandbox Code Playgroud)
编辑:知道与约定相关联的任何名称也是很好的.我知道可能没有,但很高兴能够使用名称而不是示例来讨论具体的事情.谢谢!
我需要防止导致url漏洞的字符
我的示例网址http://localhost/add.aspx?id = 4; req = 4
请给出我需要阻止的字符列表.
我正在使用ASP.net网页.我从sql server数据库绑定信息.
我只想列出要远离黑客的角色,在网址中输入不需要的字符串
以某些内容结尾的网址,portal.php?key2=hello如何获取"key2"的值?
我正在ASP.NET MVC 2中开发一个网站.在某些时候,我在控制器中找到一个ActionResult,我显然是在调用方法
return View();
Run Code Online (Sandbox Code Playgroud)
有什么办法,我可以将QueryString传递给我的视图或将参数附加到URL?
我正在尝试加密我在打开网址时正在制作的游戏上的查询字符串.它并不复杂,实际上因为我在游戏引擎上工作所以它需要尽可能简单.如果我的等级过低,往往会大惊小怪.
我已经创建了查询字符串,我只需要获取它的每个字符并从字符中减去15以轻微加密它.我只是想做一个能阻止大多数用户的简单加密.
我希望我能给出一个代码示例,但我对C没有太多经验,我甚至不确定从哪里开始.游戏引擎的api通常会让一切变得简单.
我试图弄清楚如何在我的htaccess文件中执行301重定向以将一些文件重定向到新域.这是我需要知道如何做的:
旧网址:http://www.example.com/index.php? page = news&id = 2366
新网址:http://www.example2.com/news.php? name = 23546
重定向不必自动创建.我可以硬编码我需要在htaccess文件中重定向的页面,我只是不知道要使用的格式,因为我读过"标准"301重定向不适用于查询字符串.
基本上这就是我想做的事情,但到目前为止我的研究听起来并不像这样做.
redirect 301 /index.php?page=news&id=2366 http://www.example2.com/news.php?name=23546
Run Code Online (Sandbox Code Playgroud) 我有一个问题,我需要从网址中提取查询字符串参数.该参数可以是该单词的一个"Territory"或"territory"其他大/小写变体.虽然以下两种情况如下工作但我想知道是否有更好的方法?
IDictionary<string, string> queryString = HtmlPage.Document.QueryString;
if (queryString.ContainsKey("territory"))
{
ish.SetDefaultRegion(int.Parse(queryString["territory"]));
// do something (the same something as below)
}
else if (queryString.ContainsKey("Territory"))
{
ish.SetDefaultRegion(int.Parse(queryString["Territory"]));
// do something (the same something as above)
}
Run Code Online (Sandbox Code Playgroud)
我宁愿将查询字符串插入到字典中忽略大小写(即,如果用户意外键入"TERRITORY"此代码会失败,那么我怎样才能测试该单词是否存在而不管大小写?
一旦我问过:如何生成显然随机的查询字符串/网址.
它可以在很多地方找到:
http://www.youtube.com/watch?v=IMl7pvaWzh8
^
|
+----------------
http://jsfiddle.net/xeolabs/LSTKM/light/
^
|
+----------------
http://jsbin.com/asapay/1/edit
^
|
+----------------
Run Code Online (Sandbox Code Playgroud)
我被告知(似乎是逻辑)当服务器选择一个新的URL时,它不会检查它是否是免费的(以前没有选择)
另外,我被告知它可能是一个公式的结果,如:( f(n+1) = f(n)+1所以它根本不是随机的.
所以新的url param是由最后生成的url param生成的.
我的问题 :
哪里可以找到这样的发电机功能?
当然我可以建立一个我自己的17 = 16 + 1,但我正在寻找一些准备好的东西:
f(n+1) = f(n)+1其中有大写,小写,数字的用法.和
当然的最小碰撞和零个预测.
你知道吗,专业......
我只是好奇google/youtube/jsbin/jsfiddle每天有数百万的请求.
我正在尝试实现这个 - https://gist.github.com/MendelGusmao/2356310 Lua,基于nginx的URL缩短器,我想要实现的唯一更改是当一些查询字符串参数带有缩短的URL时我需要获取该参数并插入长URL.
例如 http://google.com?test=2 会像http://abc.in/abc一样 点击http://abc.in/abc?test=3我会被重定向到 - http:// google .com?test = 3.
为此我需要从$ request_URI获取查询字符串参数,任何人都可以帮助一些代码吗?