我安装了SocialEngine来替换旧的CMS。问题是搜索引擎中存在很多旧URL。我想将它们重定向到当前网站上的相应网址(因为此时它们只会重定向到主页)。
我的旧CMS的所有内容都已导入到SE中,因此现在每个旧页面都有相同的内容。 例如 : 旧地址:/index.php?mod=news&ac=commentaires&id=367 新地址:/ articles / 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 :(得分:0)
您的重定向说明顺序可能存在问题。
首先禁用评论所有当前的一般规则,然后单独尝试新的重定向。
如果它们起作用,那就要认真考虑应该放在哪里。
指令末尾的[L]使其成为最后一个,因此该指令匹配,不再进一步处理。
使用此功能,首先编写更详细的说明,稍后再写一般,否则,当您的进一步说明超出您的当前状态时,您可以遇到情况!