Вставить хеш перед именем каталога с помощью Apache mod_rewrite или PHP? - PullRequest
1 голос
/ 21 января 2012

У меня есть URL-адрес, подобный следующему:

http://www.example.com/client/project/subdirectory/value/

Мне нужен простой способ изменить / перенаправить URL-адрес на следующее:

http://www.example.com/client/project/#/subdirectory/value/

После завершения перенаправления хеш должен быть доступен через JavaScript.У меня все в порядке с полным обновлением / перенаправлением, просто в идеале, что я пишу это один раз, и мне не нужно менять его снова.

Другими словами, когда сайт заработает, URL будут структурированы по-другому., так что:

http://www.example.com/subdirectory/value/

изменится на:

http://www.example.com/#/subdirectory/value/

Редактировать:

Я пытался использовать это: RewriteRule ^ profile /? $ # / profile / [NC, L]

Который, кажется, ничего не делает

Также пробовал это: RewriteRule ^ profile /? $ / # / profile / [NC, L]

, который переводит меня в корневой каталог

Также пробовал это: RewriteRule ^ profile /? $ # / Profile / [R, NC, L]

, который добавляетвесь корневой путь к серверу, затем /% 23 / profile /

Ответы [ 2 ]

4 голосов
/ 21 января 2012

Если у вас есть URL-адрес, подобный следующему:

http://localhost/tests/redir/subdirectory/value/

И вы хотите перенаправить его на:

http://localhost/tests/redir/#/subdirectory/value/

Поместите файл .htaccess в каталог tests/redir со следующим:

RewriteEngine On
RewriteBase /tests/redir
RewriteRule ^(.*/)$ #/$1 [R,L,NE]

И вы получите требуемый редирект.Флаг R воспроизводится вместе с директивой RewriteBase.Также необходим флаг NE, чтобы вы могли буквально поместить # в URI перенаправления.

1 голос
/ 21 января 2012

Хэш уже используется тегами привязки страницы. Возможно, вам придется заменить его на сущность или выбрать лучшего персонажа.

...