it-swarm.com.ru

Другая папка как подпапка сайта

Мне нужна помощь с переписыванием URL. Случай похож на этот .

У меня есть рабочий сайт Zend Framework. Теперь я должен добавить блог в Wordpress (также работает). Я выбрал not, чтобы заниматься созданием контроллеров/действий/маршрутов ZF; Я видел пару уроков по этому поводу, и я считаю их слишком большими для «простого» перенаправления. Теперь об этом "перенаправлении" ...

Вот как это должно выглядеть: 

  • www.site.com (указывает на /var/www/zf
  • www.site.com/blog (указывает на /var/www/wp)

Я знаю, что я должен остановить www.site.com/blog, чтобы войти во внутренности ZF, и в настоящее время я делаю это с RewriteRule ^blog - [NC,L] в его .htaccess, но это все. Как сказал { @jason , «просто передайте это Wordpress», но я не знаю, как именно это сделать. 

Связанный вопрос:
Я никогда не пробовал, но поддерживает ли Apache это в двух разных vhosts?
ServerName www.site.com (vhost для сайта ZF)
ServerName www.site.com/blog (vhost для WP сайта)

20
nevvermind

www.site.com (указывает на/var/www/zf)

www.site.com/blog (указывает на/var/www/wp)

Простой способ добиться этого, когда вы хотите, чтобы под-URL указывал вне каталога DocumentRoot VirtualHost, - это создать псевдоним ...

Внутри блока VirtualHost добавьте:

Alias /blog /var/www/wp

<Directory /var/www/wp>
    Options All
    AllowOverride All
    order allow,deny
    allow from all
</Directory>

* Предполагается, что вы PHP каким-то образом включены для этого каталога.

43
rightstuff

Уловка ServerName не будет работать: вы не можете иметь пути в директиве ServerName.

Для mod_rewrite у вас должно получиться что-то вроде этого:

RewriteEngine on
RewriteBase /
RewriteRule ^blog/(.*)$ wp/$1 [L]
RewriteRule ^(.*)$ zf/$1 [L]
0
Femi