web-dev-qa-db-fra.com

Dossier différent en tant que sous-dossier de site Web

J'ai besoin d'aide pour la réécriture d'URL. Le cas est similaire avec celui-ci .

J'ai un site de travail Zend Framework. Maintenant, je dois ajouter un blog dans Wordpress (fonctionne également). J'ai choisi not pour s'adonner à la création de contrôleurs/d'actions/de routes ZF; J'ai vu quelques tutoriels à ce sujet et je les considère trop pour une redirection "simple". Maintenant, à propos de cette "redirection" ...

Voici à quoi cela devrait ressembler: 

  • www.site.com (pointe sur /var/www/zf
  • www.site.com/blog (pointe sur /var/www/wp)

Je sais que je devrais arrêter www.site.com/blog pour entrer dans les entrailles de ZF et je le fais actuellement avec RewriteRule ^blog - [NC,L] dans son .htaccess, mais c'est à peu près tout. Comme @jason } _ a déclaré: "transmettez-le simplement à Wordpress", mais je ne sais pas comment faire cela. 

Question connexe:
Je n'ai jamais essayé, mais Apache prend-il en charge ceci dans deux vhosts différents?
ServerName www.site.com (vhost pour le site ZF)
ServerName www.site.com/blog (vhost pour le site WP)

20
nevvermind

www.site.com (pointe vers/var/www/zf)

www.site.com/blog (pointe vers/var/www/wp)

Le moyen le plus simple d'y parvenir, lorsque vous souhaitez qu'une sous-URL pointant hors du répertoire DocumentRoot de VirtualHost, consiste à créer un alias.

Dans le bloc VirtualHost, ajoutez:

Alias /blog /var/www/wp

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

* Cela suppose que PHP soit activé d'une manière ou d'une autre pour ce répertoire.

43
rightstuff

L'astuce ServerName ne fonctionnera pas: vous ne pouvez pas avoir de noms de chemins dans une directive ServerName.

Pour mod_rewrite, vous devriez pouvoir vous en tirer avec quelque chose comme ceci:

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