我正在尝试创建一个通过PHP和&amp ;;加载数据的页面。 MySQL,并用Isotope& amp;显示帖子无限滚动,以及使用.htaccess
重写以清理URL。
当用户向下滚动时,Infinite Scroll会从第二个PHP MySQL脚本(单独的文件)加载数据并将它们附加到之前的Isotope元素,这些元素在索引/首页上完美运行:
$('#isotope').infinitescroll({
navSelector : 'div.pagination',
nextSelector : 'div.pagination a:first',
itemSelector : '.post',
bufferPx : 20,
loading: {
finishedMsg: 'No more items.'
}
},
function( newElements ) {
var $newElems = jQuery( newElements ).hide();
$newElems.imagesLoaded(function(){
$newElems.fadeIn();
$container.isotope( 'appended', $newElems );
});
});
我遇到的问题是.htaccess
网址重写:
让我们说一个名为blog-posts.php
的网页,我想将网址更改为干净的网址http://website.com/blog-posts
。
我可以通过PHP(例如,一个名为blog-posts.php
的文件)将第一组数据加载到页面中,并在Isotope布局中显示它,它可以很好地工作。
但是,当用户向下滚动时,第二组数据(例如,来自名为blog-posts-load-more.php
的文件),它不会加载到页面中,也不会附加到同位素。
数据通过主博客posts.php页面上的触发链接加载:
<a href="blog-posts-load-more.php?posttype=<?php echo $posttype;?>"></a>
blog-posts-load-more.php文件然后调用一个简单的MySQL语句:
$posttype = $_GET['posttype'];
$sql = "SELECT * FROM posts WHERE posttype='$posttype'";
$query = mysqli_query($connection, $sql) or die (mysqli_error());
当我通过http://website.com/blog-posts-load-more.php
分别在浏览器中调用该文件时,会显示数据。我的.htaccess
重写似乎有些中断?
RewriteRule blog-posts blog-posts.php [NC,L]
我也试过以下版本(因为我的blog-posts-load.more.php正在使用$ _GET变量:
RewriteRule blog-posts/(.*)/ blog-posts.php?posttype=$1 [NC,L]
我做错了什么?我正在使用与index.php
页面相同的脚本,它可以完美地运行。