2012-05-06 6 views
0

Я установил 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 

Спасибо заранее!

С наилучшими пожеланиями

+0

Можете ли вы опубликовать отредактированный htaccess, где вы добавили свое правило? – Salman

ответ

0

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

Сначала отключите с комментариями все текущие общие правила и попробуйте новые переадресации.

Если они работают, то внимательно подумайте, куда их следует поместить.

[L] в конце инструкции делает его последним, так что эта команда соответствует, а не будет обрабатываться дальше.

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

+0

Спасибо за быстрый ответ! К сожалению, я попытался отключить весь контент .htaccess и поместить в первую строку только код переадресации, даже если это не сработает: множество меню и ссылок на сайте нарушены, но когда я набираю старый адрес , он по-прежнему перенаправляется на домашнюю страницу SocialEngine вместо соответствующей новой страницы :( – Myriam