问候所有人,
我需要帮助结合一些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 /目录中。
答案 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]