У меня есть одно приложение zf2 и один блог WordPress, оба являются разными каталогами.(/ var / www / zf2, / var / www / blog).Я хочу, чтобы мой маршрут example.com указывал на мое приложение zf2, а example.com/blog указывал на мой блог WordPress.Я использую функцию псевдонима Apache, и она работает только для основного маршрута.example.com/blog указывает на мой блог WordPress, но любой другой маршрут блога указывает на приложение zf2.Например, example.com/blog/aboutus указывает на мое приложение zf2 и показывает страницу ошибки zf2 not found, вместо этого она должна указывать на страницу моего блога.
<VirtualHost *:80>
ServerName example.com
DocumentRoot /var/www/zf2/public
Alias /blog/ /var/www/blog/
<Directory /var/www/blog>
DirectoryIndex index.php
Options Indexes MultiViews FollowSymLinks
AllowOverride All
Order deny,allow
Deny from all
#Allow from all
</Directory>
<Directory /var/www/zf2/public>
Options Indexes FollowSymLinks MultiViews
AllowOverride All
Order allow,deny
allow from all
</Directory>
</VirtualHost>
Ниже приведено содержимое htaccess моего приложения zf2.
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)/$ /$1 [L,R=301]
RewriteCond %{REQUEST_FILENAME} -s [OR]
RewriteCond %{REQUEST_FILENAME} -l [OR]
RewriteCond %{REQUEST_FILENAME} -d
RewriteRule ^.*$ - [NC,L]
RewriteCond %{REQUEST_URI}::$1 ^(/.+)(.+)::\2$
RewriteRule ^(.*) - [E=BASE:%1]
RewriteRule ^(.*)$ %{ENV:BASE}index.php [NC,L]
И это моя конфигурация htaccess для блога.
# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>
# END WordPress