更多HtAccess重写规则

时间:2010-04-03 20:33:24

标签: .htaccess mod-rewrite friendly-url seo

问候所有人,

我需要帮助结合一些htaccess重写,这些疯狂的正则表达式与我的头脑相连。

所以我有一个像这样的文件夹结构:

     /www/mysite.com/page/member/friends.php
     /www/mysite.com/page/video/videos.php
     /www/mysite.com/page/messages/inbox.php

网址被重写为:

     mysite.com/member/friends.php
     mysite.com/video/videos.php
     mysite.com/messages/inbox.php

(注意/ page /文件夹隐藏在网址中,但我将其保留在服务器上以便更好地组织文件)

重写规则看起来像这样:(如果它们有缺陷,我是新的,所以纠正我)

     RewriteRule ^video/(.*)$ /page/video/$1 [NC]
     RewriteRule ^member/(.*)$ /page/member/$1 [NC]
     RewriteRule ^messages/(.*)$ /page/messages/$1 [NC]

现在,我还需要对成员文件夹中名为lobby.php的文件进行完全不同的重写:

原始重写后,示例网址如下所示:

     mysite.com/member/lobby.php?member=pws5068

我需要一个新的重写来使它看起来像这样:

     mysite.com/pws5068

感谢您在这里提出我的超长问题。我怎样才能做到这一点?

编辑:为了减少这种麻烦,我正在将目录移动到/ page /目录中。

1 个答案:

答案 0 :(得分:2)

由于您访问了成员文件夹中的2个文件,因此您应该在您的网址结构中区分它们。例如:

 RewriteRule ^member/friends/(.*)$ /page/member/friends.php?id=$1 [NC]
 RewriteRule ^member/(.*)$ /page/member/lobby.php?id=$1 [NC]

<强>更新

根据您的编辑,它现在应该是

 RewriteRule ^member/friends/(.*)$ /page/member/friends.php?id=$1 [NC]
 RewriteRule ^member/(.*)$ /page/lobby.php?id=$1 [NC]