Zend Framework 1自定义.htaccess中的robots.txt

时间:2014-10-07 19:04:23

标签: .htaccess zend-framework routes robots.txt

我有以下.htaccess,我正在尝试执行/public/robots.php中的/robots.txt。 我尝试了不同的方法,但我的PHP脚本没有被执行...

<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!

1 个答案:

答案 0 :(得分:1)

我用这个htaccess解决了这个问题:

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

现在,我可以将php / robots.txt作为php脚本执行。所以,在我的public / robots.txt中,我能够测试我正在使用的服务器并创建一个动态机器人。

现在访问mysite.com/robots.txt时,输出由public / robots.txt生成,作为PHP脚本执行。