问题标签 [friendly-url]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
.net - 如何使虚拟 URL 指向部署在 IIS 上的 asp.net 中的 .aspx 页面?(最好没有 IIS)
获得像堆栈溢出这样干净的 URL 结构的最佳方法是什么?
我需要为此使用 IIS 吗?或者有没有办法可以用asp .net中的某种映射文件来做到这一点?
我想要的网站有数百页,并且已经部署。
我想要一种需要尽可能少的更改的方法。
笔记:
- 我不想要关于如何使 URL 友好的建议
- 我确实想要关于如何最好地管理这些友好 URL 以及如何创建映射的建议。
我基本上希望以 aspx 结尾的每个路径都没有 aspx 扩展名,而是看起来像是一个包含 index.aspx 的文件夹。
http://www.blahblahblahblahblah7CEE53E1.com/test.aspx
->
http://www.blahblahblahblahblah7CEE53E1.com/test/
编辑:我正在运行 IIS 6.0
c# - 如何在 ASP.NET MVC 中创建友好的 URL?
如何在 ASP.NET MVC 框架中生成友好的 URL?例如,我们有一个如下所示的 URL:
1 是要浏览的学习级别(在本例中为更高)的 ID,但我想以与 StackOverflow 相同的方式重新格式化 URL。
例如,这两个 URL 会将您带到同一个地方:
https://stackoverflow.com/questions/119323/nested-for-loops-in-different-languages
编辑: url 的友好部分称为slug。
java - 在struts2中为动态资源创建友好的url
我有一个带有单个页面的 struts2 应用程序,该页面可能显示存储在数据库中的多个值之一。该申请适用于拥有许多部门的学校,每个部门都有许多课程。使用这样的 url 访问部门页面
DepartmentAction 将加载 id = 2 的部门进行显示。如果用户只是浏览网站,这一切都很好,但如果我想在报纸上提供一个链接来说明工程部门,就会感到不舒服。该链接必须是 www.myschooldomain.com/department.action?id=2。我看到这有很多问题。
首先,它对用户不友好。其次,容易被破坏,因为部门是动态维护的,一个部门的id可能会在没有警告的情况下更改,导致链接不稳定。
我更喜欢打印这样的网址:www.myschooldomain.com/department/engineering 并以某种方式转到 department.action?id=2。
到目前为止,我的想法是:创建一个动作,在末尾解析部门名称的 url,然后按名称查找。也许我可以为每个部门的数据库添加一个friendlyurl 字段。
但问题是:在struts2中有没有更好的方法来做到这一点?
谢谢。
更新(2009 年 5 月):我碰巧偶然发现了这个问题,并认为我会说出我为解决它所做的工作。
我在 struts.xml 中创建了一个名为部门的新包。在这个包中,只有一个动作映射到 *. 因此它会捕获对 mydomain.com/departments/anything.html 的所有请求。
在操作类中,我只是解析 url 并查找部门/ 和 .html 之间的部分,这是部门的名称,因此我可以在数据库中查找它。这已经运行了将近 5 个月,我已经在网站的其他区域实施了它。
content-management-system - 在哪里将完整的 url 存储在 cms 中?
我正在创建一个 cms,但尚未确定在哪里存储结构中给定页面的完整 url。
每个页面都有一个 slug(页面的 url 友好名称),每个页面都有一个可以为空的(对于顶级页面)父级和子级。
我在哪里存储给定页面的完整 url (/first-page/sub-page)?这应该与页面的其他属性一起进入数据库还是一些缓存?
更新
这不是我要询问的数据库设计,而是将完整 url 存储到给定页面的位置,因此我不需要遍历整个 url 来获取用户请求的页面(/first-page/sub-page )
更新 2
我需要找到哪个页面属于当前请求的 url。如果请求的 url 是 /first-page/sub-page 我不想拆分 url 并循环访问数据库(显然)。
我宁愿将整个 url 放在表中,这样我就可以执行一个查询(WHERE url = '/first-page/sub-page'),但这似乎并不理想,如果我更改 slug 的父页面?然后我还需要更新所有后代的 url 字段。
其他人如何解决这个问题?他们是否将其放入数据库中?在将 /first-page-/sub-page 映射到页面 id 的缓存中?还是他们拆分请求的 url 并循环访问数据库?
谢谢
安德斯
seo - URL 中的特殊字符
我们目前正在用连字符 (-) 替换 URL 中的所有特殊字符和空格。从 SEO 和可读性的角度来看,这很好用。但是,在某些情况下,我们会在去掉连字符后将部分 URL 输入到搜索中。当搜索词应该有连字符时会出现问题,因为当它们被剥离时它不会返回任何结果。我们可以修改我们正在使用的搜索算法,但这会减慢它的速度(特别糟糕,因为我们将它与 AJAX-ed 搜索框一起使用,这需要快速)。
据我们所知,处理这个问题的最佳选择是用管道 (|) 替换预先存在的连字符。我有一种感觉,这将对这些术语的 SEO 产生负面影响,因为管道字符将被视为单词的一部分,而不是分隔符。据我所知,唯一被认为是分隔符的字符是连字符和正斜杠 (/)。
所以我的问题是:
- 我们可以使用替代字符来表示连字符吗?
- 如果我们不能使用任何其他字符,那么使用竖线字符会对搜索引擎产生多大的影响?
干杯,扎克
asp.net - 如何在 asp.net 2 中创建友好的 url
我尝试使用 IHttpModule 并设法将 url 转换得很好,但是我所有的图像都返回了路径错误(全部通过新的 url 目录)。
解决方案是什么?
seo - 站点地图和 SEO 的良好 URL 策略
我经营一个网站,用户拥有自己的个人资料页面。他们还可以发布待售产品(他们制作的)并撰写/导入博客文章。我将要实施站点地图,我需要对 URL 策略做出最终决定。
这是我目前拥有的产品(其中 1234 是我用来查找该产品的产品 ID): 注意“产品”是一个固定字符串(尽管它是实际站点中的另一个词) - 所有其他都是动态的,具体取决于项目.
- example.com/product/1234.product-category.product-name
我应该更改为其中任何一个吗?IE:
- example.com/maker/users_name/product-category/product-name/1234
- example.com/product/product-category/product-name/1234
- example.com/product/1234/product-category/product-name
主要考虑的项目是:
- 产品 ID 应该放在 URL 的什么位置?无论是在用户的可读性方面,还是在 SEO 方面
- 我是否应该包含用户的姓名(因为他/她制作了该产品)?
- 我应该尝试完全删除 ID 吗?
websphere - 有没有可以生成友好 URL 的 Portal 产品?
目前,我们正在使用 WebSphere Portal v5.1,并且 URL 与 URL 一样不友好。例如:
http://www.foo.com/wsps/portal/!ml/QjzQ0IhyR0UAkc39Aw!!/delta/base64xml/L3dJ82XzBfQ1A!
我已经删除了一堆字符,但你明白了。我们的挫败感之一是 URL 通常以标点符号结尾。门户的用户尝试从地址栏剪切/粘贴到电子邮件或 word 文档中,并且结尾的感叹号不会成为生成的超链接的一部分(Microsoft 产品的一项功能,Outlook、Word、Powerpoint 等会发生这种情况)。
至于解决方案,我们被告知 WPS 的 URL 映射功能不能很好地扩展,我认为随着最近的版本变化不大。
所以,回到问题。是否有其他门户产品可以更好地管理 URL?还是这仅仅是传送兽的本性?
friendly-url - When is it OK to intentionally obfuscate URLs?
Having friendly URLs is generally a good thing. However, there are sometimes when it seems like a bad idea. What is your rule of thumb?
For instance, consider a situation where I want to show a Registration Success page. I want all of the underlying logic to be the same. However, depending on how they registered, I may want to display a different message for someone who registered under a certain type of role.
Here are a few, off-the-cuff examples of "hackable" (as described in link) URLs:
- http://www.example.com/RegistrationSuccess.aspx?IsCertainRole=true
- http://www.example.com/RegistrationSuccess.aspx?role=CertainRole
- http://www.example.com/RegistrationSuccess.aspx?r=2876
All of these seem bad since I don't want the URLs to be discoverable. On the other hand, I hate to do something more complex just to modify the success message slightly.
How would you handle this?
asp.net - 使用 urlrewriter 时出现图像和样式表的问题
我在这里的几个问题中建议使用 urlrewriter.net。我在显示图像和样式表时遇到了困难。
我阅读了 ScottGu 的博客(再次按照此处的推荐),最后他确实提到了这个问题并声明使用 ~/ 用于服务器控件等(文章末尾的“正确处理 CSS 和图像引用”)。
我尝试了他的解决方案,但似乎不起作用。
唯一对我有用的是写完整的路径。出于某种原因,在我看来,这不是正确的解决方案。这会给开发和调试带来严重的问题。
有谁知道问题的原因是什么?我需要在 web.config 文件中更改什么吗?
谢谢