我正在使用 mod_rewrite 来获取 SEO 友好的 URL
RewriteEngine on
RewriteBase /
RewriteRule ^([^/\.]+)/?$ /page.php?page=$1 [L]
RewriteRule ^([^/\.]+)/([^/\.]+)/?$ /page.php?page=$1&sub=$2 [L]
所以我可以加载http://foo.com/food/local。效果很好,但它会加载整个页面,并且客户端希望添加一个跨页面加载持续存在的流媒体播放器。
所以我试图切换到使用 jQuery.load() 加载所有内容
<script>
$(".ajax").click( function(e) {
e.preventDefault();
$('#contentMain').load( $(this).attr("href"), function() {console.log( "Load was performed." ); });
});
</script>
我可以让它将我的整个页面加载到#contentMain,但我对如何在加载仅交换内容的剥离版本的 PHP 时如何维护 SEO URL 感到困惑。
例如,来到http://foo.com/food/local会加载整个页面,但单击http://foo.com/food/local中带有 href /food/foreign 的链接不会按 mod_rewrite 命中 page.php,而只是使用相同的参数轮询 content.php?我应该重建 page.php 以某种方式识别上下文吗?
此外,当使用此方法时,您是否会通过 AJAX 更新元描述和标题?或者,只要http://foo.com/food/local可以被抓取并具有正确的元信息,这无关紧要吗?