пропустить имя папки в пути при отображении в адресной строке - PullRequest
5 голосов
/ 09 июня 2011

Я хочу, чтобы имя папки не отображалось в адресной строке. Пример: скрытие папки «members»:

www.mysite.com / Участники / jonesmith / index.php

www.mysite.com / Участники / фолиант / index.php

www.mysite.com / Участники / канистра / index.php

... и т.д.

Я хочу разместить эти ссылки так:

www.mysite.com / jonesmith / index.php

www.mysite.com // фолиант / index.php

www.mysite.com / канистра / index.php

... и т.д.

и при нажатии на ссылку адресная строка будет отображаться так же, то есть без «членов».

Мне нужно, чтобы страницы участников или URL были короткими.

Конечно, любая ссылка, нажатая на страницах участника, не будет отображать "участников" в адресной строке.

Коротко: папка "members" существует, но она не будет видна посетителям на каждом уровне.

Любая идея, используя скрипт php, javascript, .htaccess ..etc?

Ответы [ 2 ]

2 голосов
/ 09 июня 2011

Если вы используете Apache, вы можете использовать для этого модуль mod_rewrite.

http://httpd.apache.org/docs/current/rewrite/

Я уверен, что IIS поддерживает что-то подобное.

0 голосов
/ 09 июня 2011

Вы можете использовать .htaccess с mod_rewrite, чтобы перезаписать URL-адреса, предварительно ожидая / member для них.

Options FollowSymLinks
RewriteEngine On

RewriteBase /~user

RewriteCond %{REQUEST_URI} !/~user/members/
RewriteRule ^(.*)$ /~user/members/$1 [L]

Я думаю, удаление пользователя ~ для вашей настройки может работать, но мой тест переписывает пути вроде /~ user / a / image.gif -> /~user/members/a/image.gif.

Возможно, более полное решение находится в следующем потоке, который добавляет некоторые правила для удаления скрытого подкаталогаесли кто-то дает URL с включенным: http://www.webmasterworld.com/apache/3588649.htm

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...