2015-04-19 4 views
0

Мой URL выглядит следующим образом:Перенаправление URL с запросом параметров

http://www.example.com/yyy/#1234 

Используя этот адрес, я получаю номера рядом с #, которые являются «1234». Затем я делаю некоторые запросы, используя Angular JS.

Однако, если пользователь вводит:

http://www.example.com/yyy/1234 

это дает 404 не найдена ошибка. Я хочу сделать это, если пользователь вводит второй URL-адрес, он должен перенаправить на первый URL-адрес, сохранив числа рядом с хэшем. Я не использую PHP, я анализирую URL, используя Javascript. Я думаю, что это возможно, добавив код .htaccess, но я не знаю, как это сделать.

Заранее благодарен!

ответ

0

Это RewriteRule будет делать то, что вы хотите:

RewriteEngine On 
RewriteRule ^/yyy/(.+)$ /yyy/#$1 [NE,R=302,L] 

Флаг NE позволяет неэкранированные #, то R флаг дает код переадресации (вы можете использовать 301, если вы предпочитаете), то L флаг избегает других правил (см. here).

Если у вас есть проблемы с правилами перезаписи, не соответствующими URL (что случается все время для меня), вы можете активировать журналы отладки для модуля перезаписи (RewriteLog and RewriteLogLevel для Apache 2.2, LogLevel для апача 2.4).

+0

Попробуйте использовать '^ yyy /(.+)$' как шаблон. Что говорит журнал перезаписи? –

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