我最近部署了一个用最新的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]
我不认为这是造成这个问题的原因,但我提到它,以防万一。
感谢。
答案 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 --optimize
和php artisan optimize
答案 3 :(得分:0)
您可以使用此.htaccess语法:
RewriteRule ^index.php/(.*)$ /$1 [L,R=301]