Дополнительные правила перезаписи HtAccess - PullRequest
1 голос
/ 04 апреля 2010

Привет всем,

Мне нужна помощь, чтобы объединить некоторые переписки htaccess, эти сумасшедшие регулярные выражения винт мне в голову.

Итак, у меня есть структура папок примерно такая:

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

URL-адреса переписываются так:

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

(Обратите внимание, что папка / page / скрыта в URL, но я храню ее на сервере для лучшей организации файлов)

Правила переписывания выглядят примерно так: (Я новичок, так что поправьте меня, если они ошибочны)

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

Теперь мне также нужно сделать совершенно другую переписку для файла с именемobby.php внутри папки участника:

После того, как оригинал переписывается, пример URL выглядит так:

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

Мне нужно новое переписывание, чтобы оно выглядело так:

     mysite.com/pws5068

Спасибо, что ответили на мой сверхдлинный вопрос. Как я могу это сделать?

РЕДАКТИРОВАТЬ: Чтобы сделать это менее запутанным, я перемещаю лобби вверх по каталогу в просто / page /.

1 Ответ

2 голосов
/ 04 апреля 2010

, поскольку вы получаете доступ к 2 файлам в вашей папке участника, вы должны различать их в структуре URL. Например:

 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]
...