我有一个XML文档,我需要在其中放置一些有关IP的信息。问题是在Apache中将XML解析为PHP可以使用.htaccess
来完成,但是当我转移到Azure时,它变得更难了。
我尝试了什么:
的web.config
<?xml version="1.0"?>
<configuration>
<system.webServer>
<staticContent>
<mimeMap fileExtension=".xml" mimeType="text/php" />
</staticContent>
</system.webServer>
</configuration>
的applicationHost.config
<system.webServer>
<staticContent>
<mimeMap fileExtension=".xml" mimeType="text/php" />
</staticContent>
</system.webServer>
.htaccess:AddType application/x-httpd-php .php .xml
但这一切都无效。我因错误的XML而出错。需要帮忙。 XML文件:
<config>
<settings ip="<?php /*getting external IP...*/ ?>" port="1010"/>
</config>
更新
我看了一下标题,它说Content-Type
是application/xml
。
答案 0 :(得分:0)
好的,我发现除了制作单独的PHP文件之外别无他法。
<?php
header("Content-Type: application/xml");
$myip = "0.0.0.0";
echo '<config><settings ip="' . $myip . '" port="1010"/>';
include("myxml.xml");
?>
答案 1 :(得分:0)
我处理这种情况的方式,当我没有时间深入了解服务器配置,或者无法修改服务器配置时,创建一个目录,其中包含我要解析的文件的名称作为PHP,以及该文件中的index.php,它处理需要完成的任务。例如:
myxml.xml/index.php
(与this answer中的index.php完全相同)
myxml.xml/myxml.xml
(可以包含php代码)
在此配置中,myxml.xml
的客户请求被重定向到myxml.xml/index.php
,然后myxml.xml/myxml.xml