我对这个问题做了很多研究,我不是盲目地问,但我无法理解这个概念。所以我的网站包含一个index.php文件,通过ajax将数据加载到div中,所以页面不会刷新,url也不会改变。我现在知道我需要链接到使用url重写的某些内容。该网站包含帖子,所以例如所有帖子都从数据库中提取,'site.com'是网址。但我希望能够做'site.com/post-one',并有该链接去那个帖子。我想首先我需要追加一个变量到URL的末尾,当这个帖子的动态内容被加载,因此:site.com?post=1所以从那里我可以使用URL重写;我遇到的问题是这个。由于post 1的内容将被加载到一个div中,如果我去了这条路线,并且实现了URL重写,site.com/post-1现在只需要动态地拉动数据,或者页面必须是静态的?是否可以在动态网站上进行网址重写?
回答
你的问题是,这将需要使用散列,而不是GET变量(因为GET需要页面刷新,散列不)。这是通过在JavaScript中使用window.location.hash
变量完成的,该变量在#变化后(例如:如果我要将http://site.com/#lol
更改为http://site.com/#lmao
,window.location.hash
将从#lol
更改为#lmao
)更新。哈希常用于基于Ajax的导航网站,例如Twitter(我认为Google也在实施它)。
如果您使用的是jQuery,您应该尝试jQuery BBQ plugin,这将允许您执行诸如哈希变化检测之类的操作(否则,您必须自己实现某种类似的引擎,因为它将用于任何一种基于散列的导航)。
但是,您应该记住,这与mod_rewrite没有任何关系,因此您不需要添加任何类型的重写规则。您的所有工作(获取数据等)都将通过Ajax XML HTTP请求完成,而不是通常的HTTP请求。
利用这一点,你可以让你的URL看起来像http://site.com/#!/post/1
(这可以去你想要哪个格式,如http://site.com/#!/p/this-is-the-posts-title
),而不是http://site.com/?post=1
,虽然你会在http://site.com/post/1
丢失。
您使用mod_rewrite的想法看起来很合理。如果你使用了一个将URI的一部分作为POST变量传递给你的index.php的rewrite指令,你能不能把一些代码放到你的索引文件的顶部,它检查这些数据,然后动态生成ajax以便转储divs?
例:
RewriteRule ^(.*)$ index.php?post=$1 [L]
的index.php:
<?php if (isset($_POST['post'])) { ?>
$.ajax({
**grab post content dump into div**
});
<?php } ?>
另外,不要忘记处理它之前清空您的$ _ POST数据。
啊,我想我明白了,所以我将不得不通过PHP创建动态url,这很好。然后,从我的例子中可以看出,如果用户点击一个链接,$ _POST将被设置,所以我可以运行ajax并以这种方式返回数据。所以从某种意义上说,它有点像一个静态页面。 – Naterade
- 1. 是否可以使用网站的网址在网站上运行javascript功能?
- 2. 网址在我的网站上重写
- 3. 重写动态网址
- 4. 是否可以从同一个网址运行多个网站?
- 5. 重写旧网站的网址到新网站的网址
- 6. 是否可以动态更改网页的网址?
- 7. 网址 - 重写并显示客户动态网站
- 8. 是否可以在URL重写页面上执行Google网站优化?
- 9. 我可以在静态网站上有动态网页吗?
- 10. 是否可以在DNN 5网站上编写SSO Web服务?
- 11. 我是否可以在内部重写网址,而不是在地址栏中更改网址?
- 12. 在.htaccess上重写网址
- 13. URL重写改变网站的网址
- 14. 重写整个网站网址
- 15. 使用htaccess重写旧网站网址
- 16. 是否可以在IIS上并行运行两个网站?
- 17. 是否可以在本地模拟Azure网站进行测试?
- 18. 在php网站上使用htaccess重写网址
- 19. 在WordPress Multisite中的所有网站上重写网址
- 20. htaccess的重写的动态网址
- 21. 使用.htaccess重写动态网址
- 22. URL重写节点js - 动态网址
- 23. 如何重写动态网址?
- 24. htaccess重写网址动态长度
- 25. 如何重写我的动态网址
- 26. MOD-重写的动态网址
- 27. .htaccess动态网址(旧网站)到magento中的静态网址
- 28. 使用UrlRewriteFilter进行网址重写
- 29. 使用htaccess进行网址重写cPanel临时网址
- 30. 是否可以使网页网址与iFrame网址相同?
我想我要走你建议朱利安的路线,太棒了,谢谢! – Naterade
这很棒,祝你好运。 –