.htaccess 使用从URL中删除目录
我正在将一个Magento站点从example.com/shopping移动到example.com,我必须将所有URL重定向到新位置(example.com)。我假设我可以在.htaccess文件中使用mod_rewrite来创建一个重写规则来执行此操作?我试图学习如何使用mod_rewrite,但语法对我来说太复杂了 有数百个页面需要重定向。例如:.htaccess 使用从URL中删除目录,.htaccess,magento,redirect,mod-rewrite,.htaccess,Magento,Redirect,Mod Rewrite,我正在将一个Magento站点从example.com/shopping移动到example.com,我必须将所有URL重定向到新位置(example.com)。我假设我可以在.htaccess文件中使用mod_rewrite来创建一个重写规则来执行此操作?我试图学习如何使用mod_rewrite,但语法对我来说太复杂了 有数百个页面需要重定向。例如: http://www.example.com/shopping/product-category-1/product-sub-category.
http://www.example.com/shopping/product-category-1/product-sub-category.html
到
这样,当人们通过旧URL进入网站时,不会出现404错误。尝试将其添加到文档根目录中的htaccess文件中,最好是在您已有的任何规则之上:
RewriteEngine On
RewriteRule ^shopping/(.*)$ /$1 [L]
如果要重定向浏览器以使新URL显示在位置栏中,请在方括号中添加R
标志:
RewriteEngine On
RewriteRule ^shopping/(.*)$ /$1 [L,R=301]
我真的要在几个小时内做同样的事情,我的谷歌查询将类似于
.htaccess重定向单页
。这是一个很好的例子,比如Ok,这是一个很好的建议,谢谢。我的下一个问题是:这会干扰默认Magento.htaccess文件的任何其他方面吗?@pbujok如果Magento希望URL中有一个/shopping/
路径,它会干扰,但这实际上取决于您如何设置[L]是否阻止运行Magento功能所需的其他重写?只包含R=301并让其余的重写运行会更好吗?@pbujok重写引擎循环,因此在应用该规则后,新的URI(将是一个不包含/shopping/
的URI)将再次通过所有规则。L
只是在当前迭代中停止重写。但是要访问admin,我不能像前面那样使用mysite.com/admin。现在我需要输入mysite.com/index.php/admin
RewriteEngine On
RewriteRule ^shopping/(.*)$ /$1 [L,R=301]