htaccess重定向和ExpressionEngine

时间:2012-12-01 21:13:26

标签: .htaccess redirect expressionengine

我刚刚推出了一个新版本的网站,我们将它们从静态文件移到了ExpressionEngine。

我正在使用Ellis批准的htaccess方法从URL中删除index.php,但我还需要从旧网站重定向一些URL,并且我得到了工件(缺少更好的术语)在重定向的网址中。

例如,我有这个重定向:

RedirectMatch 301 /2013/atlanta/ /event/atlanta-2013

实际上最终会把你送到这里:

http://aneventapart.com/event/atlanta-2013?/2013/atlanta/

幸运的是,页面仍然正确加载,但我更倾向于没有那个查询字符串。

以下是从ExpressionEngine网址中删除index.php的代码段:

RewriteCond $1 !\.(gif|jpe?g|png)$ [NC]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ /index.php?/$1 [L]

任何帮助?

2 个答案:

答案 0 :(得分:1)

在任何情况下都不是.htaccess的专家,但是,如果您希望ExpressionEngine社区的所有杰出人士都在您的问题之上,post here instead on stackexchange

话虽如此,这是我对它的看法。如果您想从

重定向
http://aneventapart.com/2013/atlanta/

http://aneventapart.com/event/atlanta-2013/

您的301规则应该在删除.htaccess中的index.php的部分之前。我会写这样一条规则:

RewriteRule ^2013/atlanta/ /event/atlanta-2013/ [R=301,L]

另外,祝贺重新设计!

答案 1 :(得分:0)

除非您尝试匹配以下子页面:/ 2013 / atlanta / something /例如我会推荐以下

Redirect 301 /2013/atlanta/ http://aneventapart.com/event/atlanta-2013/

所以URI到完整URL这将删除你看到的最终URI的基本菊花链。

旁注可以将其移至expressionengine.stackexchange.com公共测试版网站吗?