Day*_*124 5 .htaccess mod-rewrite joomla redirect
我正在努力解决一个古老的问题.我继承了一个网站,有一些相当不错的搜索引擎优化和一个明显的问题.整个站点托管在/ site /子目录中.我已经决定需要在根目录下加载站点.所以像http://example.org/site/index.php这样的东西将改为重定向到/index.php(< - 计为链接,如果不清楚我的意思是它是网站/索引的根.PHP).
我们在后端使用joomla,此时网站上有数百个页面.我一直在努力获得我所见过的任何重定向,以实现我希望他们做的事情.基本上,我们的顾客从旧的链接访问/ site /中的任何页面应该被重定向到完全相同的链接,但没有明星.
我只是从/ site /加载页面并使它看起来像是从root开放.我的理解是,这可以通过一些改进mod-rewrite(http://kb.mediatemple.net/questions/85/Using+.htaccess+rewrite+rules#gs?)来完成,但我还没有取得任何成功.我运行了一个beta网站,模仿我已经从/ site /转移到/的子域中的父网站,所以我可以测试很多.htaccess配置.
任何帮助表示赞赏...谢谢!
只是为了确定:您希望http://example.org/site/foo/bar/baz.php转到http://example.org/foo/bar/baz.php,即删除(通过重定向) /site 前缀(如果存在),但不要触摸 URL,否则,对吗?如果是这样,这取决于您使用的服务器:
如果您的服务器是 Apache,您可以在以下位置使用类似的内容.htaccess:
RedirectMatch 301 ^/site/(.*)$ http://example.com/$1
Run Code Online (Sandbox Code Playgroud)如果是 nginx,请将其添加到server {...}站点文件的会话中(通常在内部进行符号链接/etc/nginx/sites-enabled):
location ~ ^/site/(.*)$ { rewrite ^/site/(.*)$ /$1 permanent; }
Run Code Online (Sandbox Code Playgroud)这里很好地解释了如何在两台服务器中设置这种基于模式的重定向。