我试图在不破坏Magento管理面板的情况下从网址删除index.php。我们试图减少搜索引擎优化“重复内容”,所以我们希望做一个301重定向,如果网址包含index.php…除非它在管理区。
示例:
(域)/index.php ->重定向至(域)
(域名)/index.php/category-one/ -> (域名)/category-one/
(域)/index.php/admin/report ->请勿重定向
除了/admin/位之外,我可以让它正常工作
if ($request_uri ~ .*.index\.php(.*)) {
return 301 $1;
}NGINX不允许嵌套的IF语句。
任何帮助都是非常感谢的。谢谢
发布于 2015-01-17 06:58:21
IfIsEvil,所以可以考虑使用重写:
rewrite /index\.php(?:$|/((?!admin(?:/|$)).*)) /$1 permanent;它将删除index.php,除非后面跟着/admin,但仅当"admin“在url末尾或后面跟着/时才会删除。正则表达式有点臃肿,但它会做正确的事情,重定向到像"administer“这样的单词,并且不会在url中引入任何额外的斜杠。
https://stackoverflow.com/questions/27986707
复制相似问题