我们最近使用 WordPress 在新域上建立了一个新网站,以替换我们使用平面文件的旧网站。由于时间限制,我们几乎没有时间进行计划,最后请人在 IIS 管理器中设置重定向。
这意味着几乎旧网站中的每个文件夹的每个页面都有如下内容:
<location path="old-file.html">
<system.webServer>
<httpRedirect enabled="true" destination="http://new-domain.com/new-page/" exactDestination="true" childOnly="true" httpResponseStatus="Permanent" />
</system.webServer>
</location>
问题是这是一个拥有约 15k 页面的大型站点,只有大约 1k 页面被手动重定向到新的 URI。这意味着我们可能有 14k 页的遗留内容(实际上是无效的 URL,其中一些太旧了)但我们需要将其重定向到新域的根。
因此,几乎每个文件夹都有一个 web.config,每个重定向页面都有上面代码块的一个实例,但我们需要每个未以这种方式重定向的页面都重定向到一个固定位置。
由于页数,手动配置不是一种选择。我考虑过使用一种工具来添加一行 PHP 来处理对每个 .php 和 .html 文件的重定向(PHP 必须解析此站点上的 html 文件以获取遗留内容),但这远非理想。
理想情况下,我可以在 web.config 中添加一些内容,它会说“对于任何尚未通过 <location> 重定向的请求,将其重定向到“http://domain.com”。即使这意味着将某些内容附加到每个文件夹中已有的 web.config,这将节省数天的工作时间,比如如果没有匹配的位置,则重定向。
我在 <location> 中搜索了多个位置或通配符 block ,但似乎不可能,所以我不确定在这里做什么——感谢任何帮助!
最佳答案
建议:为什么不将您的 404 页面重定向到您希望的任何其他页面的主页.. 如果有人登陆任何不再存在的旧页面应该转到 404,那么将 404 重定向到主页,电子商务的常见做法他们将停产产品页面重定向到搜索页面的网站。如果这对您有帮助,您可以在谷歌上搜索“将 404 重定向到主页 wordpress”,有很多插件可以做到这一点,但作为 IIS,您可以简单地配置您的 web.config。
关于iis - 重定向任何尚未在 IIS7 上使用 301 重定向的内容,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23757190/
我正在寻找执行以下操作的正确语法(在Perl、Shell或Ruby中):#variabletoaccessthedatalinesappendedasafileEND_OF_SCRIPT_MARKERrawdatastartshereanditcontinues. 最佳答案 Perl用__DATA__做这个:#!/usr/bin/perlusestrict;usewarnings;while(){print;}__DATA__Texttoprintgoeshere 关于ruby-如何将脚
我在Rails工作并有以下类(class):classPlayer当我运行时bundleexecrailsconsole然后尝试:a=Player.new("me",5.0,"UCLA")我回来了:=>#我不知道为什么Player对象不会在这里初始化。关于可能导致此问题的操作/解释的任何建议?谢谢,马里奥格 最佳答案 havenoideawhythePlayerobjectwouldn'tbeinitializedhere它没有初始化很简单,因为你还没有初始化它!您已经覆盖了ActiveRecord::Base初始化方法,但您没有调
我试图在索引页中创建一个超链接,但它没有显示,也没有给出任何错误。这是我的index.html.erb代码。ListingarticlesTitleTextssss我检查了我的路线,我认为它们也没有问题。PrefixVerbURIPatternController#Actionwelcome_indexGET/welcome/index(.:format)welcome#indexarticlesGET/articles(.:format)articles#indexPOST/articles(.:format)articles#createnew_articleGET/article
我正在处理旧代码的一部分。beforedoallow_any_instance_of(SportRateManager).toreceive(:create).and_return(true)endRubocop错误如下:Avoidstubbingusing'allow_any_instance_of'我读到了RuboCop::RSpec:AnyInstance我试着像下面那样改变它。由此beforedoallow_any_instance_of(SportRateManager).toreceive(:create).and_return(true)end对此:let(:sport_
我想使用spawn(针对多个并发子进程)在Ruby中执行一个外部进程,并将标准输出或标准错误收集到一个字符串中,其方式类似于使用Python的子进程Popen.communicate()可以完成的操作。我尝试将:out/:err重定向到一个新的StringIO对象,但这会生成一个ArgumentError,并且临时重新定义$stdxxx会混淆子进程的输出。 最佳答案 如果你不喜欢popen,这是我的方法:r,w=IO.pipepid=Process.spawn(command,:out=>w,:err=>[:child,:out])
如果用户是所有者,我有一个条件来检查说删除和文章。delete_articleifuser.owner?另一种方式是user.owner?&&delete_article选择它有什么好处还是它只是一种写作风格 最佳答案 性能不太可能成为该声明的问题。第一个要好得多-它更容易阅读。您future的自己和其他将开始编写代码的人会为此感谢您。 关于ruby-on-rails-如果条件与&&,是否有任何性能提升,我们在StackOverflow上找到一个类似的问题:
如果我想要“00001”而不是“1”,除了我自己写填零方法之外,有没有内置的方法可以帮助我为整数填零? 最佳答案 puts"%05d"%1#00001参见:String::%,Kernel::sprintf这是正在发生的事情。%左侧的"%05d"是C风格的格式说明符。%右边的变量就是要格式化的东西。格式说明符可以像这样解码:%-格式说明符的开头0-用前导零填充5-长度为5个字符d-被格式化的是一个整数如果你要格式化多个东西,你会把它们放在一个数组中:"%d-%s"%[1,"One"]#=>1-one
按照目前的情况,这个问题不适合我们的问答形式。我们希望答案得到事实、引用或专业知识的支持,但这个问题可能会引发辩论、争论、投票或扩展讨论。如果您觉得这个问题可以改进并可能重新打开,visitthehelpcenter指导。关闭11年前。Ruby是一种美丽的语言,但有一个我讨厌写很多次的关键词“结束”。有什么方法可以写出简洁的代码而不用每次都写“end”吗?
我正在尝试根据RyanBatesscreencastonsubdomains在Rails3中设置子域.但是它对我不起作用。我有以下设置:#routes.rbconstraints(Subdomain)doget'devices'=>'devices#all'end#lib/subdomain.rbclassSubdomaindefself.matches?(request)#binding.pryrequest.subdomain.present?&&request.subdomain=="admin"endend加载urladmin.localhost:3000/devices应该将
这似乎是一个很常见的问题。遗憾的是我在SO上找不到它。如果这是一个重复的问题;我为此道歉。假设我有两个整数数组A和B:A=[17,3,9,11,11,15,2]B=[1,13]如果数组A的任何元素小于数组B的任何元素,我需要返回true或false。简单的方法是使用2个循环(O(n^2)复杂度)defis_greater?(a,b)retVal=falseb.each{|element|a.each{|value|if(valuetrue我还整理了两个数组中的元素,然后使用单个while循环来确定A中的元素是否小于B中的元素。A.sort!B.sort!defis_greater?(a