有些美国空间,可以做多个子站点,但只能做一个主站。可以用.htaccess实现域名绑定到子目录实现多站点。
先设置停靠域将各域名绑定到主机,然后新建目录directory,再编辑根目录下的隐藏文件.htaccess,添加如下规则:

根目录下的.htaccess
  1. # BEGIN Multisite
  2. <IfModule mod_rewrite.c>
  3. RewriteEngine On
  4. RewriteBase /
  5. RewriteCond %{HTTP_HOST} ^(www.)?abc.org$
  6. RewriteCond %{REQUEST_URI} !^/directory/
  7. RewriteCond %{REQUEST_FILENAME} !-f
  8. RewriteCond %{REQUEST_FILENAME} !-d
  9. RewriteRule ^(.*)$ /directory/$1 
  10. RewriteCond %{HTTP_HOST} ^(www.)?abc.org$
  11. RewriteRule ^(/)?$ directory/index.php [L]
  12. </IfModule>
  13. # END Multisite
此时装在子目录下的站点如果开启静态化,可能会在该目录下创建.htaccess文件来配置重写规则
但是这种情况下访问会出错,会访问到根目录下的index.php
解决办法很简单,列如wordpress增加的规则需要添加下面红色部分(点前后各有一空格):
注:每次重新配置固定链接重写规则后,都要重新按此修改。

子目录下的.htaccess
  1. # BEGIN WordPress
  2. <IfModule mod_rewrite.c>
  3. RewriteEngine On
  4. RewriteBase /
  5. RewriteRule ^index\.php$ - [L]
  6. RewriteCond %{REQUEST_FILENAME} !-f
  7. RewriteCond %{REQUEST_FILENAME} !-d
  8. RewriteRule . /beikel/index.php [L]
  9. </IfModule>
  10. # END WordPress
:如果不是多站点,而只是想把wordpress放在子目录,用原来的顶级域名访问,则只须在后台设置-常规里
WordPress 地址(URL)http://beikel.net/xxx
站点地址(URL)http://beikel.net