Я искал, читал и провел последние 8 дней, пытаясь понять, как конвертировать динамические ссылки в «красивые» ссылки..htaccess RewriteCond внешние ссылки
Я начинаю использовать .htaccess и переписывать правила.
У меня есть этот базовый код в моем файле .htaccess:
Options +FollowSymlinks
RewriteEngine on
RewriteRule ^pc-download/([0-9]+)/([^/]*)\.html$ /cgi/pc_read\.pl\?show=$1 [NC]
Это внутренне перенаправлять мои ссылки на соответствующий файл CGI и возвращает элемент.
Проблема, которая возникает у меня, связана с внешними ссылками в результатах поиска. Из того, что я прочитал &, прочитал &, я должен использовать RewriteCond% {THE_REQUEST}, а затем RewriteRule.
Поскольку я изменил структуру своих ссылок, я не знаю, возможно ли то, что я хочу сделать.
В RewriteRule для внутренних ссылок первая часть является «жестко закодированной», то есть я делаю часть кода для загрузки pc-download. Следующий ([0-9] +) - это идентификатор элемента, который является переменной? Show = $ 1. Вот сложная часть, ([^ /] *) - имя актива, которое находится в базе данных, но не в исходном (старом) URL-адресе. Во внутренних ссылках я его закодировал на странице, поэтому любые ссылки на моих страницах автоматически генерируются.
Итак, вот так, как я хотел бы внешнюю ссылку, чтобы перейти:
Внешняя ссылка: www.xyz.com/cgi/script.pl?show=001 целевой страницы: www.xyz.com /pc-download/001/name-of-product.html
Я посмотрел, возможно, на использование RewriteMap. Я создал txt-файл с «ID Name of Product» внутри, но поместив его в мой файл .htaccess, он убил весь сайт, даже не включив RewriteRule.
Я просто вращаю голову ни для чего, или я направился по правильному пути?
Вы не можете использовать директиву 'RewriteMap' в htaccess, ее можно использовать только в конфигурации центрального сервера. Если у вас нет доступа к этому, вам лучше переписать все эти ссылки на скрипт, который определяет правильную цель, а затем перенаправляет туда. – CBroe
@CBroe, у меня нет доступа к центральному серверу, так что опция отсутствует.Что касается скрипта, я не знаком с каким-либо языком сценариев достаточно хорошо, чтобы понять, насколько трудна эта задача. По крайней мере, я знаю теперь, чтобы перестать двигаться по направлению RewriteMap. – cooter
Что вы используете для отображения своего сайта? – Sumurai8