我有一些静态网站,我只想隐藏.html扩展名:
/foo获取静态文件/foo.html/foo然后客户端可以发送风格的书签mydomain.com/foo而不是mydomain.com/foo.html.
这听起来非常简单,mod_rewrite之前我曾经愉快地使用过(比如使用WordPress或重定向),但事实证明这更难破解.也许我错过了一些非常明显的东西,但我无法在任何地方找到解决方案而且我整天都在这里!
我们运行自己的服务器,所以这可以去哪里是最好的地方.
附录
下面检查的解决方案工作正常.然后在运行该网站一段时间后,我注意到两个问题:
所有页面都开始显得格格不入.我重新加载,清除缓存等,但仍然没有风格.我以前遇到过这个麻烦,找不到来源.
有一个目录和一个名为'gallery'的html文件,因此/ gallery链接显示了一个目录列表而不是html文件.我应该可以排序那个,但欢迎进一步提示:-)
如何在ASP.NET MVC框架中生成友好的URL?例如,我们有一个如下所示的URL:
http://site/catalogue/BrowseByStyleLevel/1
1是研究级别的Id(在这种情况下是更高的)来浏览,但我想以与StackOverflow相同的方式重新格式化URL.
例如,这两个网址会将您带到同一个地方:
编辑:网址的友好部分被称为slug.
我想开始使用"SEO Friendly Urls",但生成和查找大型独特文本"ID"的概念似乎是一个重要的性能挑战,相对于简单地查找整数.现在,我知道这不是"人类友好",但如果我改变了
http://mysite.com/products/details?id=1000
Run Code Online (Sandbox Code Playgroud)
至
http://mysite.com/products/spacelysprokets/sproket/id
Run Code Online (Sandbox Code Playgroud)
我仍然可以单独使用ID来快速查找详细信息,但URL本身包含将在该详细信息中显示的关键字.这对Google来说是否足够友好?我希望如此,因为它似乎比在最后产生既独特又有意义的东西更容易.
谢谢!
詹姆士
SEO友好的URL现在风靡一时.但它们是否真的会对网页在Google和其他搜索引擎中的排名产生重大影响?如果是这样,为什么?如果没有,为什么不呢?
(请注意,我绝对同意SEO友好的URL可以更好地用于人类.我的问题是它们是否真的对排名算法产生了影响.)
更新:事实证明,内啡肽指向此处的Google帖子在SEO社区引起了巨大的混乱.有关讨论的示例,请参见此处,此处和此处.问题的部分原因是谷歌的帖子正在解决最糟糕的情况,即网址重写效果不佳,因此你最好不要使用动态网址而不是破坏静态的"SEO友好"网址.
毫无疑问,Google可以抓取动态网址,并且可以获得高排名.也许更具体地重新构思这个问题会更容易:给出2个等价的页面,这对搜索"排名更高的友好网址确实会影响网页排名"排名更高?
要么
B)http://stackoverflow.com?question=505793(仅用于比较的虚假URL)
如何在C#中生成友好URL?目前我简单地用下划线替换空格,但是我如何生成像Stack Overflow这样的URL呢?
例如,我如何转换:
如何在C#中生成友好URL?
成
怎么办 - 我 - 产生 - 一个友好的URL,在-C
我正在为一个我正在整理的简单网站开发快速验证码生成器,我希望在页面的URL中传递加密密钥.我可能很容易做到这一点作为一个查询字符串参数,但我希望不是这样(只是因为没有其他任何东西跑掉查询字符串)...
我的加密代码生成一个byte [],然后使用Convert.ToBase64String(byte [])将其转换为字符串.但是,这个字符串仍然不是友好的url,因为它可以包含'/'和'='之类的东西.有没有人知道.NET框架中更好的函数将字节数组转换为url友好字符串?
我知道所有关于System.Web.HttpUtility.UrlEncode()及其等价物,但是,它们只适用于查询字符串参数.如果我在路径内部对"="进行url编码,我的Web服务器会返回400 Bad Request错误.
无论如何,不是一个关键问题,但希望有人能给我一个很好的解决方案
**编辑:只是为了绝对确定我正在用字符串做什么,我想我会提供更多信息.
由我的加密算法产生的byte []应该通过某种算法提供,以使其成为url友好字符串.在此之后,它将成为XElement的内容,然后将其用作XSLT转换的源文档,并用作锚点的href属性的一部分.我不相信xslt转换导致问题,因为路径上出现的内容似乎是编码的查询字符串参数,但会导致HTTP 400
我也在base64字符串上尝试过HttpUtility.UrlPathEncode(),但这似乎也没有做到(我仍然在我的网址中以'/'结尾)**
Python框架总是提供处理以优雅方式传达请求数据的URL的方法,例如http://somewhere.overtherainbow.com/userid/123424/
我希望你注意结束路径/ userid/123424 /
你是如何在ASP.NET中做到这一点的?
在我的PHP站点上,当前用户使用电子邮件地址和密码登录.我想添加一个用户名,他们设置的用户名将是唯一的,他们无法更改.我想知道如何使这个名称没有空格并在URL中工作,所以我可以使用用户名链接到配置文件和其他东西.如果用户名中有空格,则应添加下划线jason_davis.我不确定最好的方法吗?
我们如何为Tomcat/Java提供URL重写支持?
mod_rewrite为Apache提供此功能,甚至可以在URL到达处理程序之前修改URL(例如PHP).Java/Tomcat中是否有类似的工具?
更具体地说,我们需要修改,例如
http://www.somedomain.com/person/1
Maps to
http://www.somedomain.com/details?personId=1
这应该对servlet代码透明,即我们应该能够访问request.getParameter("personId")servlet并获取personId(在本例中为1).
你遇到过这种情况吗?你用了什么工具?
很想听听你的建议.
我想完全关闭Site.Mobile.Master页面.我的网站是响应式的,我希望移动浏览器使用相同的母版页.
我如何在ASP.NET友好的URL中执行此操作
谢谢