我在网上找遍了,似乎找不到解决我问题的方法。我希望能够从html文件"调用"一个php文件,并显示返回的字符串:
html_ONLY_file.html
...
<h1>GetHeader.php?type=main</h1>
...
GetHeader.php
if($_GET['type'] == 'main')
print 'Some header to display'; //or echo 'Some...';
exit;
我已经为图像做了这个,img src="image.php?file=file.jpg",其中image.php做一个header(…)和readfile(…)返回,但我不知道如何为简单的文本做到这一点。我不是在寻找DOM或任何太复杂的东西,如果我有必要,我会的。我想知道是否有一个简单的解决办法。它正在生成我丢失的html一侧。
如果你想知道,我这样做是因为我曾经使用了<#virtual include=…>从我的.shtml文件中调用PHP文件。好吧,托管公司决定改变mod_security,现在我不能包含任何php文件(我已经尝试了一切)。包括html文件工作得很好,所以我正在改变网站的这一部分,所以我不必重命名文件,因为该网站是一个小企业,现在在谷歌排名很高的地理区域。如果我将文件名shtml改为php,那么我相信Google的排名会下降(除非你他妈的确定你是100%正确的,否则不要评论这部分)
如果您可以编辑.htaccess
文件,您可以在.htaccess
文件中添加一行,这将意味着HTML文件将被解析为PHP。
如果您的服务器运行PHP作为apache模块:
AddType application/x-httpd-php .html .htm
如果您的服务器运行PHP作为CGI:
AddHandler application/x-httpd-php .html .htm
来源:http://www.besthostratings.com/articles/php-in-html-files.html
一旦你添加了你的html_ONLY_file.html
可以看起来像:
<h1><?php print "some header"; ?></h1>
它的功能就像一个.php
文件。
或者,您可以将所有文件转换为.php
并将重定向添加到.htaccess
文件中,如下所示:
rewriteRule ^somefile.shtml$ somefile.php [R=301,L]
rewriteRule ^another-file.shtml$ another-file.php [R=301,L]
这有效地告诉您的服务器"每当用户请求somefile.shtml
时,就像他们请求somefile.php
一样"。R=301
是最重要的部分关于谷歌排名。这告诉Google(以及任何请求.shtml
文件的人),它将永久地移动到新位置somefile.php
。这将把所有/几乎所有的排名权力从旧位置转移到新位置。
来源:http://moz.com/learn/seo/redirection