2017-12-05 6 views
1

Ich habe einen Server mit Apache 2.2.24 und CodeIgniter 2.1.0.Wie wird eine interne Weiterleitung mit CodeIgniter für robots.txt durchgeführt?

Ich möchte dynamisch für /robots.txt Anfragen bearbeiten, mit CodeIgniter, aber die einzige Lösung, die ich bisher gefunden habe, ist zu verwenden .htaccess eine temporäre Umleitung zu erteilen, die Kunden /robots_txt anstatt zu holen sagt (Note der Unterstrich).

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

Später in der .htaccess gibt es diese Regeln für CodeIgniter:

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

Innerhalb CodeIgniter kann ich Routenanfragen für robots_txt an einen Controller.

Meine Frage ist, wie kann ich dies zu einer internen Umleitung ändern? Das heißt, wenn ich eine Anfrage für robots.txt bekomme, anstatt eine Weiterleitung Antwort an den Client, wie kann ich die URL neu schreiben, um es intern als robots_txt zu behandeln?

Alles, was ich führt zu einem 404.

Antwort

0

versucht haben, eine vollständige Umleitung Um zu vermeiden, tun Sie es einfach wie folgt:

# 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] 

dann innerhalb CodeIgniter können Sie Routenanfragen für robots.txt (kein Unterstrich hier) ein Controller.

+1

Ich brauchte keine RewriteRule für Roboter. Alles, was ich brauchte, war die Route für robots.txt in CodeIgniter einzurichten. Vielen Dank! – Liam

Verwandte Themen