我有一个公共目录在/var/www/html的Apache2.4服务器。 在这个目录中,我有一个Wordpress网站,这个.htaccess :
RewriteBase / RewriteRule ^index\.php$ - [L] RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule . /index.php [L]
在同一级别的WP网站有一个RESTful API的子目录/var/www/html/api/
并在/var/www/html/temp/
我想达到的是:
当用户访问mydomain.com或www.mydomain.com ,他应该会看到login页面是以temp为根
当用户使用普通IP访问服务器时,他应该看到WordPress的博客(即xxx.xxx.xxx.xxx/显示为博客根目录),并且应该以相同的方式访问api( xxx.xxx.xxx.xxx/api/... )
我在.htaccess尝试了很多组合,例如:
RewriteEngine On RewriteCond %{HTTP_HOST} ^(www.)?mydomain.com$ RewriteRule ^(/)?$ temp [L] RewriteBase / RewriteRule ^index\.php$ - [L] RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule . /index.php [L]
但没有结果。 有什么build议么? 提前致谢。
首先,如果你有权访问服务器configuration,你不应该使用.htaccess,因为它会减慢你的Apache 。 另外,用两个分离的虚拟主机来处理这个问题要容易得多。
1) /etc/apache2/sites-enabled/000-default (对于IP和非指定的主机名):
<VirtualHost *:80> DocumentRoot /var/www/html </VirtualHost>
2) /etc/apache2/sites-enabled/example.com为您的example.com和www.example.com。
<VirtualHost *:80> ServerName example.com ServerAlias www.example.com DocumentRoot /var/www/html/temp </VirtualHost>