mod_rewrite的快速小问题(和Joomla相关)

时间:2011-04-18 21:12:24

标签: apache .htaccess mod-rewrite joomla

为了回滚能力,我将一个较新版本的Joomla项目推送到现有站点的子目录(sandbox)。

我们将它们从1.0移动到1.5

要打开新上传的版本以进行公共访问,我想我只需要在现有文档根目录中添加.htaccess文件,以跳过其中的文件:

+- /www
    +- index.php     # old version
    +- ...           # files
    |
    +- .htaccess     # htaccess file for redirects
    |
    +- /sandbox
        +- index.php # new version
        +- ...       # files

我的.htaccess文件如下:

# .htaccess for sandbox redirect

RewriteEngine On
Options +FollowSymlinks

RewriteBase /
RewriteCond %{HTTP_HOST} mysite.com
RewriteCond %{REQUEST_URI} !sandbox/
RewriteRule ^(.*)$ sandbox/$1 [L]

它“工作”,http://mysite.com现在显示沙箱目录的内容;新版本网站中的然而链接在其网址中包含sandbox,当然,这仍然有效,但现在我们发生了http://mysite.com/sandbox/foo/bar,当我们只想{{1}时}}

有什么想法吗?

2 个答案:

答案 0 :(得分:2)

为什么不将旧网站移动到/ oldsite并将新网站移动到根网站?如果您已经对它进行了测试并且该网站正常工作,则无需使用所有重定向功能。

答案 1 :(得分:0)

尝试将joomla目录中configuration.php中的属性$ live_site设置为“http://mysite.com”