2017-12-05 9 views
1

Apache 2.2.24とCodeIgniter 2.1.0を実行しているサーバーがあります。CodeIgniterでrobots.txtの内部リダイレクトを行う方法は?

私はCodeIgniterのを使用して、動的に/robots.txtの要求を処理したいが、私は今のところ発見した唯一の解決策ではなく、(ノートアンダースコアを)/robots_txtを取得するために、クライアントに指示します一時的なリダイレクトを発行するために.htaccessファイルを使用することです。

RewriteRule ^robots\.txt$ /robots_txt [NC,L,R=307] 

その後の.htaccessにCodeIgniterのためにこれらのルールがあります。

RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteRule ^(.*)$ index.php?/$1 

CodeIgniterの中で私はできコントローラへrobots_txtのルート要求。

私の質問は、これを内部リダイレクトに変更するにはどうすればよいですか?つまり、robots.txtのリクエストを受け取ったときに、クライアントにリダイレクトレスポンスを発行するのではなく、内部的にURLを書き換えてrobots_txtとすることができますか? CodeIgniterの中のその後

# rewrite robots.txt to index.php 
RewriteRule ^robots\.txt$ index.php?/$0 [L,NC] 

RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteRule ^(.*)$ index.php?/$1 [L] 

次のことができrobots.txtのためのルート要求(ここではノーアンダースコア)に:

私は次のようにちょうどそれを行う完全なリダイレクトを回避するために404

答えて

0

にリードを試してみましたが何かコントローラ。

+1

ロボット用にRewriteRuleは必要ありませんでした。私が必要だったのは、CodeIgniterでrobots.txtのルートを設定することでした。ありがとうございました! – Liam

関連する問題