0

我有一个名为的 PHP 文件dynamicxml.php,它运行一堆代码,从数据库中提取数据并创建一个 XML 文件。当我右键单击并保存链接时,dynamicxml.php?var=test我需要对话框选择 xml 作为默认文件类型并将文件重命名为 var.xml:

header("Content-type: text/xml");
echo '<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<blah><blah_blah>'.$_GET['var'].'</blah></blah>';

单击链接时,它会在浏览器中加载 xml 文件。保存该页面会将其保存为 var.xml。但是右键单击并保存它会将其保存为 dynamicxml.php 和 php 文件类型。

我应该用 htaccess 操作东西还是有其他选择?

4

1 回答 1

0

您不应该尝试这样做,因为浏览器通过“另存为..”进行保存的工作方式不同。例如 chrome 和 opera 会将您的文件保存为 .htm(可能)。我看到了两种可能的方法来解决这种情况(我不会做任何一种):

  • 将 apache 设置为将 xml 处理为 php。AddType text/xml php

  • 创建重写规则以将某个目录中的 *.xml 中的所有内容重定向到 dynamicxml.php

    RewriteEngine On
    RewriteCond %{REQUEST_FILENAME} -s [OR]
    RewriteCond %{REQUEST_FILENAME} -l [OR]
    RewriteCond %{REQUEST_FILENAME} -d
    RewriteRule ^.xml$ - [NC,L]
    RewriteRule ^.xml$ dynamicxml.php [NC,L]
    
于 2010-07-04T12:17:56.503 回答