我正在使用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但只是用相同的args轮询content.php?我应该重建page.php以某种方式识别上下文吗?
使用此方法时,您是否通过AJAX更新元描述和标题?或者,只要http://foo.com/food/local可以被蜘蛛侠并拥有正确的元信息,这无关紧要吗?
答案 0 :(得分:2)
如果是ajax调用,为什么不只是访问非朋友page.php链接?它应该仍然可以访问。您可以使用页面链接向您的href添加数据属性:
<a href="/food/local/" data-ajax="page.php?page=$1">Local Food</a>
无论如何,只是一个想法。