2010-04-03 4 views
1

Привет всем,Более Htaccess правила перезаписи

мне нужна помощь комбинируя некоторые 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 

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

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

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

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

После первоначальных переписывает, образец URL выглядит следующим образом:

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

мне нужен новый переписанный, чтобы сделать его выглядеть следующим образом:

 mysite.com/pws5068 

Благодарим вас за подшипник с моей супер-длинный вопрос здесь. Как я могу это сделать?

EDIT: Чтобы сделать это менее запутанным, я перехожу к директории в просто/страницу/сам по себе.

+0

вы уверены, что mysite.com/member/lobby.php?member=pws5068 становится mysite.com/pws5068, а не mysite.com/member/pws5068? –

+0

Сейчас это только mysite.com/member/lobby.php?member=pws5068, но моя цель - стать mysite.com/pws5068. Это плохо организовано, поэтому я приношу свои извинения. Я перемещаю лобби вверх по директории, чтобы просто/page/ – pws5068

ответ

2

Поскольку вы получаете доступ к 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] 
+0

На самом деле, у меня больше файлов в папке-члене. Я собираюсь переместить лобби за его пределами, чтобы сделать это менее запутанным, потому что это уникальный случай. Так что это будет /page/lobby.php и /page/member/friends.php – pws5068

+0

Я исправил свой ответ, я кое-что понял неправильно. – pixeline

 Смежные вопросы

  • Нет связанных вопросов^_^