301 редирект без фрагмента

Возможный дубликат:
фрагмент URL и 302 редиректа

Мне нужна помощь по поводу перенаправления 301 без специального символа.

Например, я хочу перенаправить следующий URL:

http://www.iphoneapplications.us/iphone-ipad-mobile-apps-portfolio.html#Gigguid

По следующему URL-адресу:

http://www.i-phonedeveloper.com/portfolio.html

Я изменил .htaccess для выполнения перенаправления, но фрагмент #Gigguid остается в конечном URL. Как это исправить?


person Chetan    schedule 23.01.2013    source источник
comment
Что означает перенаправление со специальным символом?   -  person Hanky Panky    schedule 23.01.2013
comment
Какой специальный персонаж вам не подходит? #? Это имеет особое значение, сервер не увидит, что   -  person Pekka    schedule 23.01.2013
comment
покажи мне свой файл .htaccess   -  person gmaliar    schedule 23.01.2013


Ответы (2)


Текущий стандарт HTTP не позволяет выполнять такое перенаправление - по крайней мере, клиент HTTP отказывается это делать. Ваш браузер всегда будет добавлять часть #... в URI перенаправления.

Этот #.... называется Fragement, специальный символ мало что говорит (URI имеет много специальных символов, таких как :, %, ? и &), лучше используйте для этого правильное имя.

Следующая стандартная версия HTTP, вероятно, решит эту проблему, но она все еще немного хрупкая, значение иногда менялось в черновике, и, поскольку я не могу заглядывать в будущее, еще слишком рано, как это будет сделано в следующем стабильном выпуске HTTP.

См. Также этот вопрос для получения дополнительной информации:

person hakre    schedule 23.01.2013

вы можете использовать этот код в htaccess

Options +FollowSymLinks -MultiViews
RewriteEngine On
RewriteBase   /
RewriteCond %{REQUEST_URI} ^(.*)-(.*)\.(html|htm|php)$
RewriteRule ^ /%2.%3 [R=301,L]

образец :

http://www.iphoneapplications.us/iphone-ipad-mobile-apps-portfolio.html?id=3#Gigguid

перенаправить на:

http://www.i-phonedeveloper.com/portfolio.html?id=3#Gigguid

person mohammad mohsenipur    schedule 23.01.2013