Я установил SocialEngine для замены старой CMS. Проблема в том, что в поисковых системах присутствует много старых URL-адресов. Я хотел бы перенаправить их на соответствующие URL-адреса на текущем веб-сайте (потому что в это время они только перенаправляются на главную страницу).SocialEngine - 301 перенаправление старых страниц сайта .htaccess
Все содержимое моей старой CMS было импортировано в SE, поэтому каждая старая страница имеет свой эквивалент. Например: старый адрес: /index.php?mod=news & AC = Commentaires & ID = 367 новый адрес:/статьи/367
Я пытался добавить в мой .htaccess что-то вроде:
redirectmatch 301 index.php?mod=news&ac=commentaires&id=([0-9]+) http://www.nailissima.fr/articles/$1
Но это не сработает. Когда я печатаю старый адрес, он по-прежнему перенаправляется на домашнюю страницу, а не в соответствующую статью.
Не могли бы вы помочь мне решить это?
Вот мой .htaccess:
# $Id: .htaccess 7539 2010-10-04 04:41:38Z john $
<IfModule mod_rewrite.c>
Options +FollowSymLinks
RewriteEngine On
# Get rid of index.php
RewriteCond %{REQUEST_URI} /index\.php
RewriteRule (.*) index.php?rewrite=2 [L,QSA]
# Rewrite all directory-looking urls
RewriteCond %{REQUEST_URI} /$
RewriteRule (.*) index.php?rewrite=1 [L,QSA]
# Try to route missing files
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} public\/ [OR]
RewriteCond %{REQUEST_FILENAME} \.(jpg|gif|png|ico|flv|htm|html|php|css|js)$
RewriteRule . - [L]
# If the file doesn't exist, rewrite to index
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php?rewrite=1 [L,QSA]
</IfModule>
# sends requests /index.php/path/to/module/ to "index.php"
# AcceptPathInfo On
# @todo This may not be effective in some cases
FileETag Size
Спасибо заранее!
С наилучшими пожеланиями
Можете ли вы опубликовать отредактированный htaccess, где вы добавили свое правило? – Salman