我正在开发一个门户网站(PHP / MYSQL),它有3个部分的照片,视频,文章。每个部分都有自己的提交表单,用户可以使用该表单提交与其帐户相对应的照片,视频或文章。
所以,我认为应该像
那样的URL等
与视频和文章部分相同。现在我对这里使用的内容感到困惑。
我可以通过htaccess轻松实现这一目标,但是有些人说它会减慢你的网站速度,因为每次请求网址时它都会处理htaccess。
我还有一个问题,像digg这样的网站,flickr如何形成这个URL。这些是非常大的网站,每天有数百万的页面浏览量,所以他们不使用htaccess吗?
请指导我!
感谢。
答案 0 :(得分:3)
您可以使用.htaccess和apache的mod_rewrite(或类似的其他Web服务器)。使用mod_rewrite,您将重写传入的URL以适合您的脚本架构。减速可以忽略不计。大多数大型网站都使用这种技巧。
因此,举一个粗略的例子,假设你有以下工作应用程序:
./index.php
./index.php?section=about
./index.php?section=contact
./index.php?section=help
./photos.php
./photos.php?section=browse
./photos.php?section=submit
./photos.php?section=edit
然后你可以把它放在.htaccess
中# Turn on URL rewriting
RewriteEngine On
# These are very verbose to show the point. Later you can make them smarter
RewriteRule about index.php?section=about
RewriteRule contact index.php?section=contact
#all under photos/* goes to photos.php
RewriteRule photos/(.*) photos.php?section=$1
然后将您的代码放在index.php和photos.php
中的正确位置答案 1 :(得分:1)
.htaccess很可能不会成为你的瓶颈,如果你需要非常高的性能,你就不会自己测量问题所在。真正的大型网站不是一个很好的参考,在这种规模上问题是非常不同的。
最灵活和最常用的方法是使用mod_rewrite重定向到一个页面,然后调用应用程序的相应部分。
我现在不担心性能,但更多的是关于灵活性和可维护性。
您也可以将重写规则放在apache主配置中,并节省.htaccess的开销,这应该会快一点
答案 2 :(得分:1)
我可以通过htaccess轻松实现这一目标,但是有些人说它会减慢你的网站速度,因为每次请求网址时它都会处理htaccess。
对于非常非常非常高流量的站点,确实没有太多基于正则表达式的重写规则非常重要,因为它们在某种程度上是性能密集型的。
但是,我们大多数人都不需要担心。和Apache一起去吧。
答案 3 :(得分:1)
使用htaccess可以使组织文件比使用大量文件夹更简单。是的,它会对性能产生影响,但是,除非它确实是一个真正高流量的网站,否则影响不会很明显。你担心性能问题,请记住,糟糕的代码会比任何重写规则都慢得多。