Небольшая проблема с mod_rewrite (и Joomla, если уместно)

#apache #.htaccess #mod-rewrite #joomla

#apache #.htaccess #mod-перезапись #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 в их URL, которые, конечно, все еще работают, но теперь у нас http://mysite.com/sandbox/foo/bar происходит, когда мы хотим только http://mysite.com/foo/bar

Есть идеи?

Ответ №1:

Почему бы не переместить старый сайт в /oldsite и не переместить новый сайт в корень? Если вы протестировали его и сайт работает, нет необходимости возиться со всеми перенаправлениями.

Комментарии:

1. Думал, что мой способ окажется проще; однако, в итоге я реорганизовал файловую систему.

Ответ №2:

Попробуйте установить свойство $ live_site в configuration.php в вашем каталоге joomla для «http://mysite.com «