2011-10-27 57 views
5

我有一个动态PHP网站,我需要将其转换为静态网站以提供给客户端。我用wget来拉取文件,它完全符合我的需要。唯一的问题是..my链接之前(谷歌索引的)没有文件扩展名。我使用.htaccess来摆脱.php文件扩展名。PHP网站转换为静态HTML网站 - 链接问题

所以我的URL的一个应该是这样的: http://www.domain.com/about/

当我拿到网站的静态版本,它改变了我所有的链接, .html

这可能是好的,因为我可以使用htaccess来摆脱该文件扩展名,所以我所有的链接将与以前一样。那么,每个页面中的所有内部链接都链接到.html版本。

有没有一种方式与htaccess指导用户,如果他们去about.html它会带他们到约没有扩展?所以我所有的内部链接仍然会工作?

或者是否有任何其他建议,你们可能会有如何处理?

这里是wget的代码我使用:

wget -k -K -E -r -l 10 -p -N -F -nH http://www.domain.com/ 

我怎样才能像输出.php文件,而不是HTML吗?

谢谢!

回答

5

您可以添加到您的.htaccess:

RewriteRule ^([^\.]+)$ $1.html [NC,L] 

摘自:http://www.sicanstudios.com/how-to-remove-php-html-htm-extensions-with-htaccess/

+0

真棒,谢谢。那可行。一个简单的问题,我有两种形式,需要.php而不是.html。你知道如何使用Wget吗?我需要输出所有文件为.php而不是.html - 我用我使用的代码更新了我的问题。 – Drew

+0

那么,你使用的'-E'标志是'--html-extension'标志的别名,所以这就是为什么它将文件名改为'.html'。如果你删除它,它应该保留扩展名。但是,您不会使用wget获取php代码,那么您为什么需要.php扩展名? – swatkins

+0

因此,我可以手动将PHP代码片段添加到我需要的两个页面中,并且它们已经具有.php扩展名,因此所有通过其他页面的链接都不需要更改。谢谢! – Drew