2016-11-24 5 views
0

Я понимаю, что «#hash» не обрабатывается на стороне сервера, но мне нужно знать, если это возможно, чтобы клиент повторно прямо из этого URL:Перенаправление полный путь, содержащий хэш

http://domain.com/section/products/category/filter-category-1 

к этому

http://domain.com/section/products#filter-category-1 

Таким образом, пользователь получает доступ к первому URL и мгновенно переходит ко второму URL.

+3

Возможные дубликат: HTTP: // stackov erflow.com/questions/9993017/apache-rewrite-rule-for-a-destination-containing-a-hash-mark – Max

ответ

0

Если вы хотите сделать это с PHP это так просто, как:

header('Location: http://domain.com/section/products#filter-category-1'); 
exit(); 
0

Если вы не хотите использовать HTAccess (так что вы можете добавить собственную логику до или сразу после редиректа), вам может просто сделать:

if($_SERVER['REQUEST_URI'] == '/section/products/category/filter-category-1') { 
    header('Location: http://domain.com/section/products#filter-category-1'); 
    die(); 
} 

Поместите это в .htaccess, если вы хотите, чтобы перенаправлять с HTTP статусом 301

Redirect /section/products/category/filter-category-1 /section/products\#filter-category-1 [L] 
+0

Браузер просто выбросил ошибку 404. Я размещаю этот код в 'http: // domain.com/section/products' –

+0

@ JimmyAdaro, вам нужно поместить его в тот файл, который вызывается при посещении первого URL-адреса, я буду изменять свой пост, чтобы включить его. htaccess тоже, который, кажется, лучший вариант в вашем случае. – Enstage

+0

Но 'http://domain.com/section/products/category/category-1 ' не существует. Это всего лишь ссылка для Google Adwords, которая будет 301 перенаправлена ​​на http: // domain.com/section/products # filter-category-1'. –

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