我是网络开发行业的新手。目前正在为一个客户开发五个基于内容的网站。这些站点是使用 Laravel 4 设计的,并使用无法访问配置的共享主机。我需要从所有文章页面中删除“index.php”并使它们成为干净的 URL 以用于 SEO 目的。我面临两个问题。这些问题在本质上似乎是相似的,因此在同一个问题中引用了这两个问题。
对于 Addon 域 - 我将域的文档根目录更改为 Laravel 的“公共(public)”文件夹。然后在 .htaccess 文件中添加下面的代码,使没有“index.php”部分的 URL 更清晰
Options -MultiViews
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.*)$ /index.php?/$1 [L]
虽然如果 URL 直接输入到浏览器的地址栏,代码可以正常工作。问题是,现在当我使用 site:mysite.com 在 Google.com 中搜索我的网站时,它显示了一些页面,但 URL 中没有 index.php 部分,而一些 URL 中带有 index.php 的页面。最糟糕的是有些页面出现了两次——一次在 URL 中带有 index.php,第二次没有 index.php
例如搜索结果将包含具有这样 URL 的页面 -
www.mysite.com/index.php/article-1-content
www.mysite.com/article-1-content
如果我没记错的话,这会导致内容重复。此外,当我通过具有 index.php 的 URL 打开文章页面时,该页面上的所有其他 URL - 如内部链接和侧边栏文章也会在其 URL 中显示 index.php。我应该怎么做才能从 URL 和谷歌索引中完全删除 index.php。请帮忙。
很抱歉让问题太长,但我的第二个问题似乎具有类似的性质 -
对于主域 - 我已经在 public_html 中添加了整个站点代码,然后将这段代码添加到 public_html 中的 .htaccess 文件中以更改文档根目录
RewriteEngine On
RewriteBase /
RewriteCond %{HTTP_HOST} ^primarydomain.com$ [NC,OR]
RewriteCond %{HTTP_HOST} ^www.primarydomain.com$
RewriteCond %{REQUEST_URI} !public/
RewriteRule ^(.*)$ public/$1 [L]
还有用于删除公共(public)文件夹的 .htaccess 文件中的 index.php 部分的代码 -(与插件域中的相同)。问题是在谷歌搜索时,每篇文章页面都会出现两次,URL 看起来像这样
www.primarydomain.com/article-1-content
www.primarydomain.com/public/index.php/article-1-content
google 也在为带有“public/index.php”部分的 URL 编制索引。我应该怎么做才能完全摆脱这些不太干净的 URL。
感谢您容忍这么长的问题 :) 任何帮助将不胜感激。 问候。
最佳答案
这听起来像是规范标签的工作。
只要加载 URL,规范标签就会完成剩下的工作(如果您可以指定要使用的 URL)。
关于php - 谷歌索引同一页面的两个 URL - 有和没有 index.php,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25553616/
我好像记得Lua有类似Ruby的method_missing的东西。还是我记错了? 最佳答案 表的metatable的__index和__newindex可以用于与Ruby的method_missing相同的效果。 关于ruby-难道Lua没有和Ruby的method_missing相媲美的东西吗?,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.com/questions/7732154/
exe应该在我打开页面时运行。异步进程需要运行。有什么方法可以在ruby中使用两个参数异步运行exe吗?我已经尝试过ruby命令-system()、exec()但它正在等待过程完成。我需要用参数启动exe,无需等待进程完成是否有任何rubygems会支持我的问题? 最佳答案 您可以使用Process.spawn和Process.wait2:pid=Process.spawn'your.exe','--option'#Later...pid,status=Process.wait2pid您的程序将作为解释器的子进程执行。除
我有一个奇怪的问题:我在rvm上安装了rubyonrails。一切正常,我可以创建项目。但是在我输入“railsnew”时重新启动后,我有“程序'rails'当前未安装。”。SystemUbuntu12.04ruby-v"1.9.3p194"gemlistactionmailer(3.2.5)actionpack(3.2.5)activemodel(3.2.5)activerecord(3.2.5)activeresource(3.2.5)activesupport(3.2.5)arel(3.0.2)builder(3.0.0)bundler(1.1.4)coffee-rails(
设置:狂欢ruby1.9.2高线(1.6.13)描述:我已经相当习惯在其他一些项目中使用highline,但已经有几个月没有使用它了。现在,在Ruby1.9.2上全新安装时,它似乎不允许在同一行回答提示。所以以前我会看到类似的东西:require"highline/import"ask"Whatisyourfavoritecolor?"并得到:Whatisyourfavoritecolor?|现在我看到类似的东西:Whatisyourfavoritecolor?|竖线(|)符号是我的终端光标。知道为什么会发生这种变化吗? 最佳答案
从给定URL下载文件并立即将其上传到AmazonS3的更直接的方法是什么(+将有关文件的一些信息保存到数据库中,例如名称、大小等)?现在,我既不使用Paperclip,也不使用Carrierwave。谢谢 最佳答案 简单明了:require'open-uri'require's3'amazon=S3::Service.new(access_key_id:'KEY',secret_access_key:'KEY')bucket=amazon.buckets.find('image_storage')url='http://www.ex
我正在编写一个小脚本来定位aws存储桶中的特定文件,并创建一个临时验证的url以发送给同事。(理想情况下,这将创建类似于在控制台上右键单击存储桶中的文件并复制链接地址的结果)。我研究过回形针,它似乎不符合这个标准,但我可能只是不知道它的全部功能。我尝试了以下方法:defauthenticated_url(file_name,bucket)AWS::S3::S3Object.url_for(file_name,bucket,:secure=>true,:expires=>20*60)end产生这种类型的结果:...-1.amazonaws.com/file_path/file.zip.A
我想在一个没有Sass引擎的类中使用Sass颜色函数。我已经在项目中使用了sassgem,所以我认为搭载会像以下一样简单:classRectangleincludeSass::Script::FunctionsdefcolorSass::Script::Color.new([0x82,0x39,0x06])enddefrender#hamlengineexecutedwithcontextofself#sothatwithintemlateicouldcall#%stop{offset:'0%',stop:{color:lighten(color)}}endend更新:参见上面的#re
我正在使用Rails构建一个简单的聊天应用程序。当用户输入url时,我希望将其输出为html链接(即“url”)。我想知道在Ruby中是否有任何库或众所周知的方法可以做到这一点。如果没有,我有一些不错的正则表达式示例代码可以使用... 最佳答案 查看auto_linkRails提供的辅助方法。这会将所有URL和电子邮件地址变成可点击的链接(htmlanchor标记)。这是文档中的代码示例。auto_link("Gotohttp://www.rubyonrails.organdsayhellotodavid@loudthinking.
我正在阅读一本关于Ruby的书,作者在编写类初始化定义时使用的形式与他在本书前几节中使用的形式略有不同。它看起来像这样:classTicketattr_accessor:venue,:datedefinitialize(venue,date)self.venue=venueself.date=dateendend在本书的前几节中,它的定义如下:classTicketattr_accessor:venue,:datedefinitialize(venue,date)@venue=venue@date=dateendend在第一个示例中使用setter方法与在第二个示例中使用实例变量之间是
大家好!我想知道Ruby中未使用语法ClassName.method_name调用的方法是如何工作的。我头脑中的一些是puts、print、gets、chomp。可以在不使用点运算符的情况下调用这些方法。为什么是这样?他们来自哪里?我怎样才能看到这些方法的完整列表? 最佳答案 Kernel中的所有方法都可用于Object类的所有对象或从Object派生的任何类。您可以使用Kernel.instance_methods列出它们。 关于没有类的Ruby方法?,我们在StackOverflow