我刚刚推出了一个新版本的网站,我们将它们从静态文件移到了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]
任何帮助?
答案 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公共测试版网站吗?