我最近将网站从HTTP迁移到了HTTPS。 我修改了所有代码,除了站点地图外,一切正常。
文件sitemap.php
应该通过XSL文件返回一个风格化的URL列表。
在HTTP中一切正常......但是当移动到HTTPS时,它会在Chrome中返回空白页面,在IE中它会返回一个没有风格化的页面。
我将网址改编为XSL文件和PHP,从 http 到 https 但返回的页面仍为空白
请在这里输入网址 www.liciafox.net/sitemap.php
正如我所说,当我将协议从 http 更改为 https
我非常感谢你提出任何建议/帮助
答案 0 :(得分:0)
在sitemap.php中添加以下标头
header("Content-type: application/xslt+xml");
答案 1 :(得分:0)
我想我找到了解决方案。有用。但是我不知道这是不是正确的方法。
sitemap.php
// Header forming
header("Content-type: application/xml; charset=utf-8");
echo "<?xml version='1.0' encoding='UTF-8'?>" . "\n";
echo "<?xml-stylesheet type='text/xsl' href='https://{$url}/sitemap.xsl'?>" . "\n";
echo '<urlset xmlns="https://www.sitemaps.org/schemas/sitemap/0.9"' . "\n";
echo ' xmlns:xsi="https://www.w3.org/2001/XMLSchema-instance"' . "\n";
echo ' xsi:schemaLocation="https://www.sitemaps.org/schemas/sitemap/0.9 https://www.sitemaps.org/schemas/sitemap/0.9/sitemap.xsd">' ."\n";
不应包含对外部网站的HTTPS调用。但它必须只是HTTP(除了调用我的网站)
// Header forming
header("Content-type: application/xml; charset=utf-8");
echo "<?xml version='1.0' encoding='UTF-8'?>" . "\n";
echo "<?xml-stylesheet type='text/xsl' href='https://{$url}/sitemap.xsl'?>" . "\n";
echo '<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9"' . "\n";
echo ' xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"' . "\n";
echo ' xsi:schemaLocation="http://www.sitemaps.org/schemas/sitemap/0.9 http://www.sitemaps.org/schemas/sitemap/0.9/sitemap.xsd">' ."\n";
XSL文件上标题的类似方式。 下面的一个不起作用:
<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet version="2.0"
xmlns:html="https://www.w3.org/TR/REC-html40"
xmlns:sitemap="https://www.sitemaps.org/schemas/sitemap/0.9"
xmlns:xsl="https://www.w3.org/1999/XSL/Transform">
<xsl:output method="html" version="1.0" encoding="UTF-8" indent="yes"/>
<xsl:template match="/">
<html xmlns="https://www.w3.org/1999/xhtml">
此处位于工作地点下方,其中呼叫HTTPS仅位于代码<html>
上:
<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet version="2.0"
xmlns:html="http://www.w3.org/TR/REC-html40"
xmlns:sitemap="http://www.sitemaps.org/schemas/sitemap/0.9"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:output method="html" version="1.0" encoding="UTF-8" indent="yes"/>
<xsl:template match="/">
<html xmlns="https://www.w3.org/1999/xhtml">