.htaccess перенаправляет с динамическими URL - PullRequest
0 голосов
/ 31 июля 2010

У меня проблемы с перенаправлением некоторых URL-адресов со старых сайтов, которые имеют?подписать, не будет перенаправлять, подойдет любой другой URL.пример: OLD: /laser-alignment-resources/presentations.cfm?pres=diaphragm

NEW: http://www.acquip.com/en/presentations/47-presentation-internal-laser-diaphragm-alignment

Не сработает, я уверен, что я что-то не так сделал, но яn00b, когда дело доходит до .htaccess

все URL-адреса имеют одинаковый формат, всего 14:

OLD: /laser-alignment-resources/presentations.cfm? pres = gas New: http://www.acquip.com/en/presentations/48-presentation-gas-turbine-thermal-alignment

СТАРЫЙ: /laser-alignment-resources/presentations.cfm?pres=train NEW: http://www.acquip.com/en/presentations/49-presentation-complete-machine-train-alignment

любая помощь будет оценена.

1 Ответ

0 голосов
/ 01 августа 2010

Ваш вопрос неясен относительно того, как вы пытаетесь выполнить перенаправления в файле .htaccess, поэтому в следующий раз я бы порекомендовал вам опубликовать некоторые примеры кода, которые вы пробовали, чтобы может помочь вам легче.

Исходя из вашего тега Apache и проблемы, которую вы описываете, я собираюсь предположить, что вы использовали mod_alias, пытаясь сделать что-то вроде этого:

Redirect 301 /laser-alignment-resources/presentations.cfm?pres=diaphragm http://www.acquip.com/en/presentations/47-presentation-internal-laser-diaphragm-alignment

Это не работает, так как директива Redirect, похоже, проверяет только часть пути запроса, а не строку запроса.

Если у вас есть mod_rewrite, вы можете настроить правила перезаписи для URL-адресов, которые вам нужно перенаправить, основываясь на их строках запроса. Это будет выглядеть примерно так:

RewriteEngine On

RewriteCond %{QUERY_STRING} =pres=diaphragm
RewriteRule ^laser-alignment-resources/presentations\.cfm$ http://www.acquip.com/en/presentations/47-presentation-internal-laser-diaphragm-alignment [R=301,L]

RewriteCond %{QUERY_STRING} =pres=gas
RewriteRule ^laser-alignment-resources/presentations\.cfm$ http://www.acquip.com/en/presentations/48-presentation-gas-turbine-thermal-alignment [R=301,L]

... и так далее. Вы можете сохранить ваши текущие Redirect операторы, так как они должны хорошо работать бок о бок с этими правилами.

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