RewriteCond% {QUERY_STRING} для нового сайта - PullRequest
0 голосов
/ 04 марта 2019

У меня действительно старый сайт Joomla-1.0 с десятками тысяч статей, которые мы недавно обновили до текущей версии Joomla с SEF.Это на apache-2.4.34 на fedora29.

Проблема в том, что он больше не поддерживает старый формат URL, поэтому я пытаюсь переписать многие старые форматы URL для работы сsite.

Тот, с которым у меня больше всего проблем, содержит строку запроса:

example.com/index.php?option=login

Это должно перенаправить на example.com/register

Мои правила перезаписиоднако не работают:

# /index.php?option=login
RewriteEngine on
RewriteCond %{QUERY_STRING} ^option=login$
RewriteRule ^/index.php$      https://linuxsecurity.com/register       [R=301,L,QSD]

Это помещается в файл .htaccess в корне документа.Я также попытался поместить его в раздел в конфигурации виртуального домена.

Кажется, он полностью игнорируется.Он сообщает об ошибке типа «Компонент не найден», как будто он интерпретируется joomla.

У меня также есть несколько других записей RewriteRule ниже, которые, кажется, не работают.Они просто сообщают 404 страницы.Если я добавлю идентификаторы статьи в ссылку для замены, она будет работать нормально.

RewriteRule ^/content/view/([^/]+)              /index.php?option=com_content&view=article&id=$1 [R=301,L]

Буду признателен за любые советы, которые вы сможете дать.

1 Ответ

0 голосов
/ 04 марта 2019

Ваше состояние хорошее, но нужно настроить правило для входа в систему.Пожалуйста, попробуй:

RewriteEngine on
RewriteCond %{QUERY_STRING} ^option=login$
RewriteRule ^(.*)  https://linuxsecurity.com/register  [R=301,L,QSD]

Для других перенаправлений контента это то, что я использовал для Joomla 1.0 до Joomla 3.x:

RewriteRule ^content/view/(.*)$ /index.php?option=com_content&view=article&id=$1 [L,R=301]

https://www.yellowwebmonkey.com/developer-blog/item/redirect-joomla-1-0-sef-links-for-joomla-3-x

...