2012-05-06 5 views
0

古いCMSを置き換えるためにSocialEngineをインストールしました。問題は、多くの古い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

関連する問題