今天打算在本机测试子域名的设置,因为使用的是
xampp很多设置还不是很熟悉,尤其是子域名的配置方面,在网上搜索了一些教程测试了几个都没有成功。后来经过修改和几次调试,现在可以用了。下面把方法分享出来。
因为discuz的程序可以在后台自动绑定二级域名,如果我们可以实现添加后xampp也同样自己绑定这样就省事多了
1、在本地建立泛域名虚拟主机,修改Apache的安装目录下的x:/xampp/apache/conf/extra/httpd.conf,如下:
<VirtualHost *:80>
DocumentRoot /xampp/htdocs/a
ServerName a.com
ServerAlias *.a.com
</VirtualHost>
重启Apache,就可以在本地同时使用a.com和xxx.a.com在本地访问,xxx为任意的二级域名,实现了泛域名解析。用此方法,也可以在本地建立多个不同域名的泛域名解析的虚拟主机。
2、需要修改本机hosts文件,打开C:\WINDOWS\system32\drivers\etc\hosts,添加如下:
127.0.0.1 www.a.com
127.0.0.1 bbs.a.com
127.0.0.1 news.a.com
127.0.0.1 blog.a.com
3、设置DISCUZ,Rewrite规则
进入后台,全局--seo设置--选择全部可用并选择rewrite兼容--提交
在 /xampp/htdocs/a 目录下建立.htaccess文件
添加规则
Apache Web Server(虚拟主机用户)
# 将 RewriteEngine 模式打开
RewriteEngine On
# 修改以下语句中的 /discuz 为您的论坛目录地址,如果程序放在根目录中,请将 /discuz 修改为 /
RewriteBase /discuz
# Rewrite 系统规则请勿修改
RewriteCond %{QUERY_STRING} ^(.*)$
RewriteRule ^topic-(.+)\.html$ portal.php?mod=topic&topic=$1&%1
RewriteCond %{QUERY_STRING} ^(.*)$
RewriteRule ^article-([0-9]+)-([0-9]+)\.html$ portal.php?mod=view&aid=$1&page=$2&%1
RewriteCond %{QUERY_STRING} ^(.*)$
RewriteRule ^forum-(\w+)-([0-9]+)\.html$ forum.php?mod=forumdisplay&fid=$1&page=$2&%1
RewriteCond %{QUERY_STRING} ^(.*)$
RewriteRule ^thread-([0-9]+)-([0-9]+)-([0-9]+)\.html$ forum.php?mod=viewthread&tid=$1&extra=page\%3D$3&page=$2&%1
RewriteCond %{QUERY_STRING} ^(.*)$
RewriteRule ^group-([0-9]+)-([0-9]+)\.html$ forum.php?mod=group&fid=$1&page=$2&%1
RewriteCond %{QUERY_STRING} ^(.*)$
RewriteRule ^space-(username|uid)-(.+)\.html$ home.php?mod=space&$1=$2&%1
RewriteCond %{QUERY_STRING} ^(.*)$
RewriteRule ^blog-([0-9]+)-([0-9]+)\.html$ home.php?mod=space&uid=$1&do=blog&id=$2&%1
RewriteCond %{QUERY_STRING} ^(.*)$
RewriteRule ^archiver/(fid|tid)-([0-9]+)\.html$ archiver/index.php?action=$1&value=$2&%1
RewriteCond %{QUERY_STRING} ^(.*)$
RewriteRule ^([a-z]+[a-z0-9_]*)-([a-z0-9_\-]+)\.html$ plugin.php?id=$1:$2&%1