我现在正在设置一些网站,其中许多网站都有多个网站.问题是:我是域名(使用ServerAlias)还是重定向请求?
显然,从可读性或脚本角度来看,ServerAlias更好/更容易.我听说如果一切都重定向到一个域,Google会更喜欢它.这是真的?如果是这样,应该使用什么重定向代码?
常见的vhost示例将包含:
ServerName example.net
ServerAlias www.example.net
Run Code Online (Sandbox Code Playgroud)
这是错的,除了example2.net和www.example2.net之外,www还应该是重定向吗?或者谷歌足够聪明,所有这些网站(或至少www)是同一个网站?
更新:想要别名的部分原因是它们更快.拨号用户的重定向仅仅是因为他们(或没有)使用www会显着增加初始页面加载.
更新和答案:感谢Paul找到Google链接,该链接指示我们"通过不延续重复内容处罚的神话来帮助您的网站管理员".但请注意,这仅适用于同一网站上的内容,例如文章"www.example.com/skates.asp?color=black&brand=riedell或www.example.com/skates.asp?brand=riedell&color=黑色".实际上,该文章明确指出"不要创建多个页面,子域或具有大量重复内容的域".
这个问题与编程无关,因为它与部署相关.
我发现自己与公司中的小组进行了很多交谈,他们的工作是维护我们的生产Windows服务器并在其上部署我们的代码.出于法律和合规性的原因,我没有直接的可见性或对服务器的任何控制,因此我可以通过我给该组的指示来确定安装哪个.NET版本的唯一方法.
到目前为止,我可以想到的所有方法都可以告诉我们安装了哪个版本(检查管理工具是否匹配1.1或2.0,检查"添加/删除程序"列表中的条目,检查是否存在c:\ Windows\Microsoft.NET下的目录是有缺陷的(我在管理工具下看到至少一台2.0但没有2.0条目的机器 - 该方法没有告诉你3.0+,"添加/删除程序"列表可能与现实不同步,目录的存在并不一定意味着什么).
鉴于我通常需要提前知道这些事情已经到位(发现"哎呀,这个没有你需要的所有版本和服务包"并不适用于短维护窗口)我必须检查"通过代理",因为我无法直接访问服务器,什么是一个简单的方法来告诉生产Windows服务器上安装了哪个版本的.NET?最好使用框架安装的一些内在方法来实现,因为它会更快,不需要加载某种实用程序,如果框架没有正确安装但仍然有文件就可以肯定会失败的方法(即,有一个目录和gacutil.exe在那里,但该框架的版本并没有真正"安装")
编辑:如果没有一个很好的万无一失的内在方法来构建框架,有没有人知道一个好的,轻量级,无需安装的程序,可以找到这个?我可以想象有人可以轻松地写一个,但如果已经存在,那就更好了.
我在设置数据报包上的TTL时遇到问题.我在将数据包发送到multicastSocket之前调用数据包上的setTTL(...)方法但是如果我使用ethereal捕获数据包,则TTL字段始终设置为0
上周我正在为一段生成一些SQL语句的代码编写一些单元测试.
我试图找出一个匹配SELECT,INSERT和UPDATE语法的正则表达式,这样我就可以验证我的方法是否生成了有效的SQL,经过3-4个小时的搜索和乱搞各种正则表达式编辑后,我放弃了.
我设法获得部分匹配,但因为引号中的部分可以包含任何字符,所以它会快速扩展以匹配整个声明.
任何帮助将不胜感激,我对正则表达式不是很好,但我想了解更多关于它们的信息.
顺便说一句,这是我所追求的C#正则表达式.
澄清
我不想要访问数据库,因为这是单元测试的一部分,我不需要维护数据库来测试我的代码.这可能比项目更长寿.
我有一个使用.NET服务器端输入验证控件的页面.此页面还有一个javascript确认框,在提交表单时触发.目前,当选择"提交"按钮时,将显示"javascript确认"框,并且一旦确认,将触发ASP.NET服务器端验证控件.我想在显示javascript确认框之前触发服务器端验证控件.
如何实现这一目标?我已经在下面列出了我当前代码的示例.
sample.aspx
<asp:textbox id=foo runat=server />
<asp:requiredfieldvalidator id=val runat=server controltovalidate=foo />
<asp:button id=submit runat=server onClientClick=return confirm('Confirm this submission?') />
Run Code Online (Sandbox Code Playgroud)
sample.aspx.vb
Sub Page_Load()
If Page.IsPostback() Then
Page.Validate()
If Page.IsValid Then
'process page here'
End If
End If
End Sub
Run Code Online (Sandbox Code Playgroud)
谢谢你的帮助.
我最近开始使用ASP.NET MVC,阅读博客,教程,尝试一些路线等等.现在,我偶然发现了一个需要帮助的问题.
基本上,我有一个像/products.aspx?categoryid=foo&productid=bar这样的网址
大多数教程/示例建议将其映射到类似:/ products/category/foo/bar,其中"products"是控制器,"category"是动作等.
但我需要将它映射到/ products/foo/bar.(没有"类别")
可能吗?我错过了什么吗?帮助将受到高度赞赏.谢谢你提前:)
PS抱歉我的英语不好.
有没有人有办法克服MSBuild工具的260个字符限制,从命令行构建Visual Studio项目和解决方案?我正在尝试使用CruiseControl自动构建构建(CruiseControl.NET不是一个选项,所以我试图将它绑定到正常的ant脚本中)并且我继续遇到路径长度的问题.为了澄清,问题在于解决方案文件中引用的项目的路径长度,因为该工具不会正确地折叠路径:(
我也尝试过使用DevEnv,它有时会工作,有时会引发异常,这对于在单独的机器上进行自动构建是不利的.所以请不要建议使用它作为替代品.
最重要的是,通过普通的IDE使用Visual Studio时,项目构建得很好.
一种新手问题,但我在使用SNVKit时遇到了问题.
我在应用程序中使用SVNKit来提交对文件的更改.我已成功将文件和文件夹添加到工作副本中,但我在将其提交到存储库时遇到问题.
我试图运行的命令是'commit -m"测试添加"/ svnroot/project1 /"但我一直得到"svn:'/ home/user'不是工作副本"
我有一个类似于这样的结构:
如果我尝试提交该文件,我会收到以下消息:"'/ svnroot/project1/grouping1'不受版本控制,不属于提交,但其子代是提交的一部分."
我可能做错了什么?
编辑:修复了目录.
我有一个C#接口,其中某些方法参数声明为object类型.但是,传递的实际类型可能因实现接口的类而异:
public interface IMyInterface
{
void MyMethod(object arg);
}
public class MyClass1 : IMyInterface
{
public void MyMethod(object arg)
{
MyObject obj = (MyObject) arg;
// do something with obj...
}
}
public class MyClass2 : IMyInterface
{
public void MyMethod(object arg)
{
byte[] obj = (byte[]) arg;
// do something with obj...
}
}
Run Code Online (Sandbox Code Playgroud)
MyClass2的问题在于转换byte[]和转换object是装箱和拆箱,这是影响性能的计算上昂贵的操作.
用通用接口解决这个问题会避免装箱/拆箱吗?
public interface IMyInterface<T>
{
void MyMethod(T arg);
}
public class MyClass1 : IMyInterface<MyObject> …Run Code Online (Sandbox Code Playgroud) 对于想要从BI(商业智能)领域开始的人,您有什么建议?
我应该从哪里开始:书籍,博客,网络广播......我应该注意什么以及我应该远离什么.
微软的技术值得吗?
.net ×2
apache ×1
asp.net ×1
asp.net-mvc ×1
boxing ×1
c# ×1
command-line ×1
deployment ×1
generics ×1
java ×1
javascript ×1
mono ×1
msbuild ×1
multicast ×1
oracle ×1
performance ×1
regex ×1
seo ×1
sockets ×1
sql ×1
svn ×1
svnkit ×1
ttl ×1
unit-testing ×1
vb.net ×1
windows ×1
winforms ×1