2011-12-12 5 views
0

Я пытаюсь написать rewriteRule (без везения), который возьмет строку после хэша и перепишет ее как параметр querystring. Что-то вроде этого ....htaccess RewriteRule

http://www.example.com/locations/new-york#7F1A6245-3BE3-62D5-A4B6-60C5D599BF21

и переписать это ...

http://www.example.com/locations/details.aspx?id=7F1A6245-3BE3-62D5-A4B6-60C5D599BF21

Я использую IIS7 с .htaccess файла, поэтому я уверен, что это то же самое regex, который вы будете использовать для .htaccess с apache. Спасибо за помощь!

EDIT

На основании ответа Ульриха Palha здесь, что я сделал ...

RewriteRule ^/locations/(.*)/(.*)$ /locations/details.aspx\?id=$2 [NC,L,U]

... и это работает как шарм. Спасибо Ульриху!

+1

хэш-часть никогда не отправляется на сервер. Таким образом, вам придется делать это на стороне клиента с JS. – Gerben

+0

, что объясняет, почему он не сработал – bflemi3

ответ

2

К сожалению, вы не можете этого сделать. Идентификатор фрагмента не передается на сервер. Из Wikipedia

Клиенты не должны посылать URI-фрагментов к серверам, когда они получить документ

Таким образом, вы не будете в состоянии обработать его на стороне сервера ...