URL重写最佳做法&如何使用htaccess进行设置

时间:2012-05-25 05:37:54

标签: .htaccess rewrite

我正在进行一个小型的个人项目,在我深入研究之前,我想在此处就设置和URL方案的最佳实践获得一些意见......以及我如何可能会为以下内容设置.htaccess重写。我的问题是:

  1. 下面是否设置了在小型用户个人资料设置中管理用户信息的最佳方式?

  2. 我已经研究了如何使用通配符子域和 httpd.conf 文件设置来重写username.domain.com的子域工作...但我被卡住了关于下面的其他计划。基本上,用户个人资料将始终生成username.domain.com,然后附加其帐户中的各个页面(照片,视频,备注等)。如何设置 .htaccess 重写以适应此情况?我非常感谢这里的任何建议。我已经在stackoverflow和其他网站上做了大量的研究,但我找不到合适的解释来实现这一点。

  3. 感谢您的帮助。

    www.domain.com/profile.php?u=username - > username.domain.com

    www.domain.com/photos.php?u=username - > username.domain.com/photos

    www.domain.com/photos.php?u=username&a=album - > username.domain.com/photos/album

    www.domain.com/photos.php?u=username&a=album1&p=photoid - > username.domain.com/photos/album1/photoid

    www.domain.com/settings.php?u=username - > username.domain.com/settings

2 个答案:

答案 0 :(得分:2)

您建议的设置对我来说很好。以下是.htaccess的一些规则(确保启用了mod_rewrite并在httpd.conf中设置了AllowOverride All):

RewriteEngine on
RewriteBase /

RewriteCond %{HTTP_HOST} (.*)\.domain\.com
RewriteRule ^$ http://www.domain.com/profile.php?u=%1 [L,QSA]

RewriteRule ^photos/?$ http://www.domain.com/photos.php?u=%1

RewriteRule ^photos/([^/]+)/?$ http://www.domain.com/photos.php?u=%1&a=$1

RewriteRule ^photos/([^/]+)/([^/]+)/?$ http://www.domain.com/photos.php?u=%1&a=$1&p=$2

RewriteRule ^settings/?$ http://www.domain.com/settings.php?u=%1

答案 1 :(得分:0)

你使用哪个服务器?首先在服务器的配置文件中使用重写,而不是htaccess,htaccess会降低服务器速度。

编辑:我对速度不感兴趣,但据我记得htaccess减缓了apache,我不知道多少。 Iam sry你必须谷歌那个:))