2010-09-13 110 views
0

我正在一个门户网站(PHP/MYSQL),它有3个部分的照片,视频,文章。每个部分都有自己的提交表单,用户可以使用该表单提交与其账户相对应的照片,视频或文章。组织网址项目的最佳方式是什么?

所以,这是我认为网址应像

同为视频和文章的部分。现在我很困惑这里使用什么。

  • 我应该使用.htaccess创建这种类型的URL吗?
  • 或者我应该使用index.php文件夹作为/ photos /或/ photos/browse /这样的文件夹。所有的文件夹将有index.php,所以他们将被文件夹名称访问和URL将看起来像这样http://example.com/photos/browse/
  • 或者我应该去传统,并使用photos.php和browse-photos.php。但是这种方法看起来不太好和有组织。

我可以很容易地通过htaccess实现这一点,但有些人说它会减慢你的网站,因为它会在每次请求URL时处理htaccess。

我还有一个问题,网站如digg,flickr如何做这个URL形成。这些网站每天都有数百万的页面浏览量,所以他们不使用htaccess?

请指导我!

谢谢。

+1

.htaccess文件不用于“创建”这样的URL,而是用于将这些URL映射到现有文件的规则。但.htaccess文件并不是唯一放置这些规则的地方。它们仅仅是Apache Web服务器的手段,以允许按目录配置,而不是按每个服务器或每个虚拟主机配置。 – Gumbo 2010-09-13 11:58:33

回答

1

我可以很容易地通过htaccess实现这一点,但有些人说它会放慢速度您的网站,因为它会在每次请求URL时处理htaccess。

对于流量非常非常高的站点,确实很重要的一点是,不会有太多基于正则表达式的重写规则,因为它们有点性能强烈。

虽然我们大多数人并不需要担心。去用Apache吧。

1

.htaccess最有可能不会是你的瓶颈,如果你需要真正的高性能,你不会在问题出现的时候自我测量。真的很大的网站不是一个很好的参考,在这个规模上的问题是非常不同的。

最灵活和最常见的方式是使用mod_rewrite重定向到一个页面,然后调用应用程序的相应部分。

我不会担心在这一点上的表现,但更多关于灵活性和可维护性。

你也可以把你的重写规则在Apache的主配置并保存的.htaccess的开销,这应该是一个快一点

3

可以使用(对于其它Web服务器或类似)的.htaccess和Apache的mod_rewrite为了这。使用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

使用htaccess将使组织文件比使用大量文件夹简单得多。是的,它对性能有影响,但除非它是一个真正高流量的站点,否则其影响不会显着。您担心的是性能,请记住,糟糕的代码可能比任何重写规则都要慢很多。

相关问题