Переписать правило, принимающее # - PullRequest
1 голос
/ 08 марта 2019

У меня есть текущее RewriteRule:

RewriteRule ^search/([0-9a-zA-Z-\s-:]+)(/?)$ search.php?search=$1 [NC,L,NE]

Я хочу иметь URL-адрес, подобный этому / search / # ff2266 /, чтобы принимать шестнадцатеричные (с #) цвета в URL-адресе, а затем иметь это значение в переменной $ _GET ['search']. Но не только это, но у меня проблемы с #.

Есть ли способ, которым я мог бы сделать что-то вроде этого: ([# 0-9a-zA-Z- \ s -:] +)?

Я пробовал правило:

RewriteRule ^search/(.*)(/?)$ search.php?search=$1 [NC,L,NE]

А затем в search.php следующий код:

echo "var_dump($_GET): ";
var_dump($_GET);

и с URL / поиском / # f44336 / результат:

var_dump(Array): array(0) { }

1 Ответ

0 голосов
/ 08 марта 2019

Смотрите, часть URI после # называется "фрагментом" и по определению доступна / обрабатывается только на стороне клиента (см. https://en.wikipedia.org/wiki/Fragment_identifier).

На стороне клиента к этому можно обратиться, используя javaScript с window.location.hash.

Если вы хотите получить доступ к этому номеру в вашем файле поиска, вы можете передать его туда без хеш-символа и использовать его таким образом.

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