网址重写和谷歌机器人TXT

时间:2014-07-22 00:02:21

标签: php security seo rewrite robots.txt

我使用php slim框架,这里的url重写是我的主机真实文件结构:
像大多数框架一样重写为index.php

/.htaccess
/assets
/index.php
/phpinfo.php
/robots.txt
/usr
    /controller
    /model
    ...

这是我的路由器

$app->get('/backstage', $authenticate(), function () use ($uri, $app) {...});
$app->get('/api', $authenticate(), function () use ($uri, $app) {...});

$app->get('/', function () use ($uri, $app) {...});
$app->get('/article', function () use ($uri, $app) {...});

如何在我的路线中禁用/backstage/api,以及实际文件路径/phpin.php/usr
并在路由器中接受//article

如果我填写路由器路径或真实文件路径,我会感到困惑吗?因为真实的文件路径不存在/article


这是我试过的

User-agent: *
Disallow: /backstage/
Disallow: /phpinfo.php

1 个答案:

答案 0 :(得分:1)

首先(假设您使用apache),您需要确保 .htaccess 文件正确地将请求指向路由器文件。

---开始.htaccess片段---

<IfModule mod_rewrite.c>
    RewriteEngine On    
    ## direct all requests to Slim router
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteRule ^ slim-router.php [QSA,L]
</IfModule>

---结束.htaccess片段---

我可能无法正确理解您的问题,但要禁用路线,只需在 slim-router.php 中注释掉添加路线的行。

robots.txt 添加条目不会阻止浏览器访问URI,只会询问搜索引擎机器人(即GoogleBot不索引特定的URI。请参阅robotstxt.orgthe robots.txt entry on Wikipedia

要将路线指向现有文件,您可以使用\Slim\View(请参阅the \Slim\View documentation。 此示例需要存在名为 templates / article.php 的文件,该文件将输出/article路由的内容。 使用\Slim\View类,您还可以将数据发送到模板文件,我也在下面演示了该文件。这只是一个基本示例,请参阅文档以了解更复杂的用法。

// ---开始slim-router.php ---         

    $app = new \Slim\Slim();
    $defview = new \Slim\View();
    $defview->setTemplatesDirectory(realpath(__DIR__).'/templates');

    $app->get(
        '/article',
        function () use ($app) {
          global $defview;
          //show the contents of 'templates/article.php', passing optional data to the template file:
          $app->view($defview)->display(
              'article.php', 
              array(
                 'data_one'=>'one',
                 'data_two'=>2,
                 'three'=>'3',
              )
          );
        }
    );        

// ---结束slim-router.php ---