网址使用index.php在Google中编入索引,Laravel配置为不在路径中使用它

时间:2013-06-20 19:25:55

标签: laravel laravel-4

我最近部署了一个用最新的Laravel 4制作的小网站。 一切正常,包括重写。

但我注意到Google在路径中使用index.php索引了几个网址。如您所知,这可能会引发重复的内容问题。

我进行了三重检查,当您浏览网站时,绝对无法访问index.php的网址。所以我想知道如何阻止框架加载index.php的网址,或者至少是一个技巧,在没有index.php的情况下自动重定向到正确的网址。

在最初的htaccess中,我只添加了这个以强制在url中使用www:

RewriteCond %{HTTP_HOST} ^domain\.com [NC]
RewriteRule ^(.*)$ http://www.domain.com/ [L,R=301] 

我不认为这是造成这个问题的原因,但我提到它,以防万一。

感谢。

4 个答案:

答案 0 :(得分:4)

这对我有用,帮助我从网址中删除Laravel的index.php

RewriteCond %{THE_REQUEST} ^GET.*index\.php [NC]
RewriteRule (.*?)index\.php/*(.*) /$1$2 [R=301,NE,L]

答案 1 :(得分:2)

Google保存了404页,使用Google Webmastertools从其缓存中删除。

我认为规则是错误的。

RewriteEngine on
RewriteRule ^/(.*)$ /index.php?$1

答案 2 :(得分:0)

检查url /app/config/app.php配置选项默认情况下为localhost。并确保您的.htaccess文件位于公用文件夹中,并且您的服务器(例如apache)指向应用程序的公用文件夹。制作composer dump-autoload --optimizephp artisan optimize

答案 3 :(得分:0)

您可以使用此.htaccess语法:

RewriteRule ^index.php/(.*)$ /$1 [L,R=301]