使用无扩展名的网址有哪些优势?
例如,我为什么要改变......
http://yoursite.com/mypage.html
http://yoursite.com/mypage.php
http://yoursite.com/mypage.aspx
至...
http://yoursite.com/mypage
是否可以为每个页面提供无扩展名的URL?
更新:
无扩展名网址是否更适合网站安全性?
我们的团队刚刚开始为Sitecore CMS开发.
我们发现在每次代码更改(.cs文件)后,应用程序需要重新启动并且sitecore的重新启动需要我们最多2.5或3分钟.我们的本地电脑的开发环境与远程数据库进行通信.除了增加我们的数据库带宽,有没有办法加速sitecore重启(关闭缓存等)
sitecore开发人员通常使用IIS或VS的web dev环境吗?
我假设使用IIS仍然会出现每次更改后重新启动sitecore的相同问题?
我越来越注意到正在使用的内容管理系统的数量.我对SiteCore有一些熟悉.我读过一些关于Umbraco的文献.前几天我才刚刚收到乌节的风.我只听到过有关EPiServer的正面反馈.我很快就会进入一个使用它的角色.
这些功能和价格差异很大吗?是什么导致你选择其中一个(或几个)?
编辑
我在这里简要回顾了所谓的免费CMS:免费的Microsoft兼容内容管理系统
在开发一个50k页的网站时,我放弃了Orchard的原因:
Orchard CMS导入工具太慢了.它一次只能接受小批量生产.最初,导入1000条记录需要8分钟.因此,根据该原则,我预计导入所有记录可能需要7个小时.不幸的是,随着更多记录被插入到数据库中,我开始收到性能问题.我甚至开始减少批量大小,这只是暂时在早期阶段.(见 对果园说不)
umbraco sitecore episerver content-management-system orchardcms
我目前面临的任务是将自定义CMS实施中的大约200K项目导入Sitecore.我创建了一个简单的导入页面,它使用Entity Framework连接到外部SQL数据库,并创建了所有必需的数据模板.
在测试导入大约5K项目时,我意识到我需要找到一种方法来使导入运行更快,所以我开始寻找一些有关为此目的优化Sitecore的信息.我得出结论,那里没有太多具体信息,所以我想分享我发现的内容,并为其他人做出进一步的优化.我的目标是为Sitecore创建某种维护模式,可以在导入大量数据时使用.
我找到的最有用的信息是Mark Cassidy的博文http://intothecore.cassidy.dk/2009/04/migrating-data-into-sitecore.html.在这篇文章的底部,他提供了一些关于何时运行导入的提示.
我从这个列表中注意到的第一件事是BulkUpdateContext类,因为我从未听说过它.我很快就明白为什么在SND论坛和PDF文档中搜索没有回复.所以想象一下,当我实际测试它并发现它将项目创建/删除至少提高了十倍时,我感到惊讶!
接下来我要看的第一点是他基本上建议创建一个只包含执行导入所需的基本要素的Web配置版本.到目前为止,我已删除了与创建,保存和删除项目和版本相关的所有事件.我还从web配置中的master数据库元素以及任何自定义事件,日程表和搜索配置中删除了历史引擎和系统索引声明.我希望有很多其他东西我可以去删除/禁用以提高性能.管道?时间表?
你有什么优化技巧?
我们最近升级了我们工作的CMS,并且必须从Lucene.net V2.3.1.301升级到V2.9.4.1
我们在原始解决方案中使用了CustomScoreQuery,它使用内置查询无法实现各种过滤.(GEO,多日期范围等)
自从从旧版本迁移到新版本的Lucene后,它开始返回文档,即使我们检查结果时它们的分数为0甚至是负数
public LuceneTest()
{
Lucene.Net.Store.Directory luceneIndexDirectory = FSDirectory.Open(new System.IO.DirectoryInfo(@"C:\inetpub\wwwroot\Project\build\Data\indexes\all_site_search_en"));
Analyzer analyzer = new WhitespaceAnalyzer();
IndexSearcher searcher = new IndexSearcher(luceneIndexDirectory, true);
QueryParser parser = new QueryParser(Lucene.Net.Util.Version.LUCENE_23, "", analyzer);
parser.SetAllowLeadingWildcard(true);
Query dateQuery = ComposeEventDateQuery(new DateTime(2015, 11, 23), new DateTime(2015,11,25), searcher);
BooleanQuery combinedQuery = new BooleanQuery();
BooleanQuery.SetMaxClauseCount(10000);
combinedQuery.Add(dateQuery, BooleanClause.Occur.MUST);
TopDocs hitsFound = searcher.Search(dateQuery, 1000);
System.Console.WriteLine(String.Format("Found {0} matches with the date filters", hitsFound.TotalHits));
System.Console.ReadKey();
}
public static Query ComposeEventDateQuery(DateTime fromDate, DateTime ToDate, IndexSearcher MySearcher)
{
BooleanQuery query = new BooleanQuery(); …Run Code Online (Sandbox Code Playgroud) 好吧我无法相信这在任何地方都找不到,所以我在问这个问题.
有没有办法在Sitecore中设置默认的Html编辑器配置文件,所以我没有覆盖每个单独的富文本字段上的源字段?
例如,我想将此作为Html编辑器的默认选项:
/sitecore/system/Settings/Html Editor Profiles/Rich Text Medium
Run Code Online (Sandbox Code Playgroud) 为什么我使用下面的代码收到此错误 ParseException: End of string expected at position 4.
这是代码:错误在第3行.
var db = Sitecore.Configuration.Factory.GetDatabase("web");
string query = @"fast:/sitecore/content/foodservice/home/Products/3492-5326/3518-7";
Item item = db.SelectSingleItem(query);
return item;
Run Code Online (Sandbox Code Playgroud)
我们可以使用快速查询SelectSingleItem()吗?我试图避免这些get folder contents and loop through each item until I find the target solution.建议?
我正在构建一个数据存储库站点,然后我将完整克隆以提供多个克隆站点,从而实现全局内容的本地化.
我需要做的是确保存储库网站中的项目之间的所有引用(富文本字段中的链接,引入"相关项目"点的项目引用等)被覆盖以引用相关克隆而不是原始项目存储库.
这可能涉及例如自定义LinkManager和可能具有一些额外逻辑的GetItem(itemID)以找到正确的克隆.
我需要知道的是我需要担心哪些API需要担心?我可以做一个修改,它将继承链接渲染在.Net组件的富文本字段中,项目引用从下拉列表中提供给子布局,通过XSLT渲染等等?在克隆站点的上下文中,我需要一个项ID作为其克隆的别名.Context.Database.GetItem(ID)需要在克隆站点上下文中返回克隆.
我基本上正在寻找一种机制,无论何时我在克隆站点的上下文中使用它,都会将"数据/主页/产品/产品A"转换为"克隆/主页/产品/产品A".
我需要在哪里实现这个逻辑,有多少个地方?
Cross发布到SDN http://sdn.sitecore.net/SDN5/Forum/ShowPost.aspx?PostID=35598
这与早期的问题有关处理Sitecore 6.4克隆站点中的内部链接,但包含更多详细信息并且更具体.
编辑:虽然理想的解决方案将此功能深入Sitecore,但重要的是这仅适用于在实际网站上查看的内容,即它不得干扰Sitecore管道,例如创建,克隆和删除项目.
我遇到了一个有趣的问题.当我安装Sitecore包时,用户界面永远不会在完全安装包时更新.Sitecore包安装已挂起.
在Sitecore日志中,我看到:
ManagedPoolThread #18 11:36:00 INFO Installing item: items/master/sitecore/system/Tasks/Schedules/Portals/Default/{BEA47CD0-C3B3-4EFD-A781-997292620312}/nl/1/xml
ManagedPoolThread #18 11:36:00 INFO Installing item: items/master/sitecore/system/Tasks/Schedules/Portals/Default/foobar/{4E0129CF-1C03-4BC8-B049-7D641D46797C}/en/1/xml
ManagedPoolThread #18 11:36:00 INFO Installing item: items/master/sitecore/system/Tasks/Schedules/Portals/Default/foobar/{4E0129CF-1C03-4BC8-B049-7D641D46797C}/nl/1/xml
ManagedPoolThread #18 11:36:00 INFO Installing of blob values has been finished. Installed: 3 Skipped: 0
ManagedPoolThread #18 11:36:00 INFO Committing files.
ManagedPoolThread #11 11:36:00 INFO Job started: WatchStatus
Run Code Online (Sandbox Code Playgroud)
这表示所有内容都已正确安装,但在Sitecore中,加载栏仍在运行.有没有人知道是什么原因造成的,因为日志是空的.
我有一个使用Solr 4.7作为搜索引擎的Sitecore 7.5站点.它很棒.这是一个多语言网站.我也在使用Alex Shyba编写的Partial Language Fallback模块.我已将其改编为与Sitecore 7.5配合使用,效果很好.我无法弄清楚的最后一部分是如何让Solr搜索与部分语言回退一起使用.我猜我需要做的是以某种方式在索引时我需要索引所有语言的内容并根据需要从后备语言中提取字段值.所以我要说我有以下内容:
Partial Language Fallback模块完美地处理了这种情况.无论当前的上下文语言是什么语言,我仍然可以看到"联系我们"页面和页面上的所有字段.
但我不确定我应该如何让Solr索引这个内容.我的猜测是,不知何故,我需要告诉Solr索引在所有4种语言中创建联系我们页面的完整索引,如果没有该语言的内容,则使用每个字段的英文内容.我在网上发现了一篇博文,展示了如何为Lucene做这个.但我不确定如何使用Solr做到这一点.有谁知道如何在Solr中处理这个问题?