2014-10-07 2 views
0

У меня есть следующий .htaccess, и я пытаюсь выполнить /robots.txt в /public/robots.php. Я пробовал разные способы, но мой скрипт не выполняется ...Zend Framework 1 пользовательский robots.txt в .htaccess

<IfModule mod_deflate.c> 
    AddOutputFilterByType DEFLATE text/css application/x-javascript application/javascript text/html text/plain text/xml text/json application/json 
</IfModule> 

SetEnv APPLICATION_ENV "development" 

php_flag magic_quotes_gpc off 
php_flag register_globals off 
php_flag short_open_tag on 

RewriteEngine on 
RewriteRule !\.(ico|js|css|jpeg|jpg|png|bmp|gif|pdf|doc|docx|xls|xlsx|xmlx|xml|pps|eml|txt|psd|flv|swf|fla|mp3|ttf|eot|svg|woff|zip)$ public/index.php [NC,L] 
RewriteCond %{REQUEST_FILENAME} -s [OR] 
RewriteCond %{REQUEST_FILENAME} -l [OR] 
RewriteCond %{REQUEST_FILENAME} -d 
RewriteRule ^.*$ - [NC,L] 
RewriteCond %{REQUEST_URI} !^/public/ 
RewriteRule ^(.*)$ public/$1 [L] 

Как я могу использовать динамический robots.txt, выполняя /public/robots.php?

Thx!

+0

Какой именно результат вы получаете, когда запрашиваете /robots.txt из браузера? Особенно код состояния и выход ошибки? Кроме того, какой результат вы получите, если напрямую запросите /public/robots.php? – plasticinsect

+0

robots.txt возвращает 404 не найден. и robots.php возвращает «Mensagem: маршрут не соответствует запросу» –

+0

Я исправил эту проблему, я отправлю свое решение здесь –

ответ

1

Я установил эту проблему с этим Htaccess:

<FilesMatch "^robots.txt$"> 
    ForceType application/x-httpd-php 
</FilesMatch> 

Теперь я в состоянии выполнить публичный/robots.txt как PHP скрипт. Итак, внутри моего public/robots.txt я могу проверить, какой сервер я использую и создавать динамические роботы.

Теперь при доступе к mysite.com/robots.txt вывод создается public/robots.txt, выполняемым как скрипт PHP.

Смежные вопросы