需要实现或复制成员项目的URL重写 - 但不想使用繁重的框架

时间:2009-06-15 14:03:53

标签: php url-rewriting

我有一个简单的会员项目,客户希望网址简单而不是像:

的index.php P =视图构件和ID = 568157&安培;散列= 00218546598797898798162454712

他希望看到它如此:

website.com/member/username

现在我已经和Zend一起工作,并且理解你需要做一些htaccess更改来完成这项工作,这在Zend Framework中已经很容易了,但我不想使用Zend框架,因为我已经我建立了一个功能齐全的会员项目,我想为这个项目进行调整。

我想用一个简单的php文件创建空的成员文件夹,其中包含我的主要php文件,但我不确定如果我使用这样的系统会遇到什么并发症。我对这里的想法很开心。我该怎么办?

2 个答案:

答案 0 :(得分:4)

您不需要框架来执行此操作。只需使用mod_rewrite重写Apache URL。例如,在文档根目录中的.htaccess(提供的顶级目录):

RewriteEngine On
RewriteBase /
RewriteRule ^member/(\w+)$ /index.php?p=view-member&id=$1

如果您需要某种哈希来识别用户,请不要将其放在URL中(就像您的哈希参数一样)。使用cookie。

您当然可以使用其他Web服务器,例如IIS或nginx。

答案 1 :(得分:0)

如果你正在运行Apache,那么使用mod_rewrite的RewriteRule可以解决问题。您还必须更改index.php,以便将用户名作为参数,并将哈希值存储在cookie / session中而不是URL中。