apache二级目录
『壹』 win2003+apache配置不同目录的二级域名怎么弄啊
windows 下 apache的二级域名的相关配置,目标是,不同的子域名可以访问不同目录下的网站:
顶级域名=> / ;www.顶级域名=> / ;news.顶级域名 => /news;
1、 开启apache的mod_rewrite功能(肯定是要让它支持重写的)在httpd.conf 找到mod_rewrite把前面的#号去了就行,接着开启apache的虚拟主机在httpd.conf 找到Virtual hosts把前面的# 号去了。
2、添加几个域名,在C:/WINDOWS/system32/drivers/etc目录中找到hosts 这个文件 记事本打开它,添加如下三个域名
127.0.0.1 www.顶级域名
127.0.0.1 顶级域名
127.0.0.1 news.顶级域名
3、在虚拟主机中填写相关代码 让它有权限访问 www目录,找到Apache2/conf/extra 目录下的httpd-vhosts.conf文件并打开 代码添加如下
<VirtualHost*:80>
DocumentRoot"E:/www"//这里是项目的目录
ServerNamelocalhost//你的ip或者你的域名
<Directory"E:/www">//这里是项目的目录
OptionsIndexesFollowSymLinks
AllowOverrideall
OrderDeny,Allow
Denyfromall
Allowfrom127.0.0.1
</Directory>
</VirtualHost>
然后将www.顶级域名 绑定到 相关jobs项目所在目录 代码添加如下
<VirtualHost*:80>
DocumentRoot"E:/www/job"//这里是jobs所在的具体目录
ServerNamewww.顶级域名//你的ip或者你的域名
ServerAlias*.顶级域名//这里用ServerAlias让多个域名绑定到同一空间也就是项目目录
<Directory"E:/www/job">//这里是jobs所在的具体目录
OptionsIndexesFollowSymLinks
AllowOverrideall
OrderDeny,Allow
Denyfromall
AllowfromAll
</Directory>
</VirtualHost>
弄好之后然后重启apache ,如果重启之后遇到apache启动报错 要查看apache的错误日志,根据需求进行修改。
4、在jobs目录下 建立.htaccess文件 在里面添加如下代码
RewriteEngineon
#让www.jobs.com访问根目录
RewriteCond%{HTTP_HOST}^www.顶级域名$
RewriteCond%{REQUEST_URI}!^/
RewriteCond%{REQUEST_FILENAME}!-f
RewriteCond%{REQUEST_FILENAME}!-d
RewriteRule^(.*)$/$1
RewriteCond%{HTTP_HOST}^www.顶级域名$
RewriteRule^(/)?$/index.php[L]
#让news.jobs.com访问news目录
RewriteCond%{HTTP_HOST}^news.顶级域名$
RewriteCond%{REQUEST_URI}!^/news/
RewriteCond%{REQUEST_FILENAME}!-f
RewriteCond%{REQUEST_FILENAME}!-d
RewriteRule^(.*)$/news/$1
RewriteCond%{HTTP_HOST}^news.顶级域名$
RewriteRule^(/)?$news/index.php[L]
一切完成之后 你就可以试试 www.顶级域名顶级域名 news.顶级域名 等访问了 就看到你想要的结果了 ,如果需要其它二级域名访问的话 按照如上的方法要重复 2 、4 步就可以了,不需要在重启apache了 ,在一切设置好测试之后用于产品中。
『贰』 各位,请教一个关于apache重写虚拟子目录时的问题
spring缓存
『叁』 apache无法访问网站根目录却能访问二级目录
先从网站上下载APACHE2.2.3 Mysql 5.0.22 PHP 5.2.0
假设:系统盘为 c:/
假设:安装好后目录状态会是这样子:
apache--> C:\Program Files\Apache Software Foundation\Apache2.2
mysql-->C:\Program Files\MySQL\MySQL Server 5.0
php--> c:/php
准备工作:
安装之前需要检查80端口、3306端口是否被其它程序占用,如果有,则需要删除相应的软件
-------------------------------------
第一步安装mysql
解 开压缩包,执行安装文件,大部分只需要按照缺省路径和安装提示进行安装就可以了,需要注意就是不能选择匿名用户,同时需要把mysql的路径加入系统的 Path路径中。安装结束后,需要重新启动计算机。重启计算机后,检查[控制面板]-[管理工具]-[服务],确定里面的mysql服务是否启动,如果没 有,则启动mysql服务。
注意:快捷方式里面的mysql登录端,是直接以root用户登录进去的,提示的密码是root用户的密码。你可以在此root用户的状态下,创建用户的数据库和新的用户。
命令如下:
CREATE DATABASE gc0100; //创建数据库
GRANT ALL PRIVILEGES ON gc0100.* to gc0100@localhost IDENTIFIED BY 'gc0100';//创建本地用户
GRANT ALL PRIVILEGES ON gc0100.* to gc0100@"%" IDENTIFIED BY 'gc0100';//创建远程用户
然后可以在[开始]->[运行],输入cmd
然后执行命令:
mysql –u 用户名 –p 访问的数据库
随后将提示输入相应用户的密码。
-----------------------------------
第二步: 安装apache 并配置支持PHP
双击安装文件apache_2.2.3-win32-x86-no_ssl.msi,按照缺省路径和提示安装就可以了。缺省将安装在C:\Program Files\Apache Software Foundation\Apache2.2下。
还会有输入框,提示输入域名呀管理员信箱,随便填就是了.
+----------------------------------------
| 注: 安装完后会自动安装并启动apache的服务,如在此处出现问题:
|“(OS 10048)通常每个套接字地址 (协议/网络地址/端口) 只允许使用一次:
| make_sock: could not bind to address 0.0.0.0:80...” 一般是IIS占用了80端口引起的
| 解决方法: 打开控制面板->服务找到 IIS admin 的服务关闭并禁用
| 然后用CMD进入命令行模式进入你安装apache的目录 /apache2/bin
+----------------------------------------
启动Apache,只需要在Apache的快捷功能中,进行启动就可以了。
随后在IE里面测试apache是否成功,输入
如果出现 It works!则表示apache安装成功。
------------------------------------
PHP的安装
将php-5.2.0-Win32.zip 里内容解压到 c:\php里
找 到 php目录里的 php.ini-dist (似乎这是一个习惯,其实我更喜欢用php.ini-recommended)重命名为 php.ini 并拷到 windows系统目录下(特殊情况:win2k系统目录为c:\winnt, Windows XP 则为 c:\windows目录。再将php目录里的所有动态库(*.dll)拷贝到system32目录下(win2k为c:\winnt\ system32,windows xp则为c:\windows\system32)最后到c:\php\ext下将php_gd2.dll php_mysql.dll这两个文件复制到system32目录下(同上)
---------------------------------
配置apache里的httpd.conf
用notepad打开C:\Program Files\Apache Software Foundation\Apache2.2\conf\httpd.conf文件
找到 AddDefaultCharset ISO-8859-1 将其改为
AddDefaultCharset GB2312(让默认语言编码为简体中文)
找到 DocumentRoot " C:\Program Files\Apache Software Foundation\Apache2.2\htdocs" 将其改为你的WEB目录,
如: DocumentRoot "D:/www"
找到 DirectoryIndex index.html index.html.var 在后面加入index.htm index.php (默认index.php为首页文件)--------------模块化安装PHP-----------------------
找到 #LoadMole ssl_mole moles/mod_ssl.so 这行,在此行后加入一行
LoadMole php5_mole c:/php/php5apache2.dll(**错误**)
修改为:LoadMole php5_mole “c:/php/php5apache2_2.dll”
原因: php5apache2.dll 只支持apache 2.0的版本,不能支持apache 2.2以上版本,因为我们最新的apache的版本是2.2.3
所以必须用新版本的动态库php5apache2_2.dll,不能用老版本的动态库。但是如果你安装的apache是2.0的版本,则只需要使用老版本的动态库就可以了,即php5apache2.dll
其中c:/php/php5apache2.dll(php5apache2_2.dll) 为你php目录中php5apache2.dll(php5apache2_2.dll)所在的位置
再找到 AddType application/x-gzip .gz .tgz 这行,在此行后加入一行
AddType application/x-httpd-php .php
(其实:上面两行红色的,你可以直接加在httpd.conf文件的最后面也可以的)
------------------------------------------
此时PHP环境基本已经配置成功
在WEB根目录(如我的D:\php\www)里建一个名为test.php (提示:用记事本的朋友,请避免文件为test.php.txt) ,的文件内容如下PHP代码:
<? echo phpinfo(); ?>
重新启动apache服务
用浏览器打开
如果可以看到php配置输出信息就OK了
(如果看到的是下载页面或者<? echo phpinfo(); ?>,请查查你所做的与上面是否有错漏)
---------------------------------------
三、配置php.ini并测试mysql、GD2(php.ini为 c:\windows下的 php.ini)找到
;extension=php_mysql.dll
将';'去掉改为
.extension=php_mysql.dll
找到
;extension=php_gd2.dll 去掉前面的;
以便支持GD库.如
extension=php_gd2.dll
找到
;session.save_path = "/tmp"
将';'去掉.设置你保存session的目录,如
session.save_path = "C:\WINDOWS\Temp";(windows xp)
session.save_path = "C:\winnt\Temp";(Windows 2000)
--------------------------------
重启apache服务
在Web根目录下(如 D:\php\www)建立testdb.php文件内容如下:
PHP代码:
<?php
$link=mysql_connect('localhost','root','123456'); //这里的root和123456是MYSQL的用户和密码,请根据你自己的情况改好
if(!$link) echo "fail";
else echo "success";
mysql_close();
?>
用浏览器打开 如果输出success就OK了
---------------------------------
四、phpmyadmin的安装配置
将phpMyAdmin-2.6.1.zip解压到WEB根目录(d:\php\www\中去),重命名文件夹为phpmyadmin或其它打开phpmyadmin 目录中的 config.inc.php
找到以下这些(以下我已改好):
$cfg['PmaAbsoluteUri'] = ''; //假设是有域名的服务器,可改成域名/phpmyadmin
$cfg['Servers'][$i]['user'] = 'root';
$cfg['Servers'][$i]['password'] = 'easy; //分别填上你mysql的用户和密码即可
$cfg['Servers'][$i]['auth_type'] = 'http'; // 这里也可以改为cookie
改好了保存,在浏览器打开 输入你的用户名和密码,便可以管理mysql了差不多了,如果你想让你的PHP代码执行得更快,就再装个Zend Optimizer.
可到下载
方法是:下载后双击,选择路径安装.问PHP.INI路径就填 c:/windows
装好重启apache服务.再看 时应该看到会多一些东西
『肆』 在apache中,如何将同级目录的文件夹做为下级目录
/www/abc 目前www.abc.com 的根目录
/www/adb/ 定位到www.abc.com的根目录
你要达到这个要求,可以先把主目录定位到/www/adb下
然后再利用alias 设置www.abc.com/abc 二级目录
在你的apache配置文件目录conf.d 下建立一个2.abc.conf 文件,输入以下内容:
Alias /abc "/www/abc"
<Directory "/www/abc/">
Options FollowSymLinks MultiViews
AllowOverride None
Order allow,deny
Allow from all
</Directory>
『伍』 apache如何实现二级域名绑定子目录
好果是服务器或VPS,修改apache的配置文件httpd.conf ,每一块VirtualHost都是一个网站配置,添加内容如下:
<VirtualHost www.test.com:80> # 网站名和端口
ServerAdmin [email protected] # 管理员邮箱
DocumentRoot "/usr/local/apache/htdocs" #对应绑定的目录
ServerName www.test.com #域名绑定。
ErrorLog logs/www_error_log.txt # 错误日志
CustomLog logs/www_log.txt common
</VirtualHost>
# 下面是二级域名的绑定
<VirtualHost bbs.test.com:80> # 网站名和端口
ServerAdmin [email protected]
DocumentRoot "/usr/local/apache/htdocs/bbs" #对应绑定的目录
ServerName bbs.test.com # 要绑定的二级域名
ErrorLog logs/bbs_error_log.txt
CustomLog logs/bbs_log.txt common
</VirtualHost>
『陆』 linux服务器 Apache服务器如何设置二级域名绑定子目录
echo "NameVirtualHost *:80">>/etc/httpd/conf/httpd.conf
DocumentRoot “/var/www/html/erji.test.com”
ServerName erji.test.com
类似这样的配置不回行?答
『柒』 你好,向您咨询一下apache rewrite 二级域名加二级目录的相关问题,期望您能恢复。
不知道你说的是哪一个帖子。
『捌』 windows 下php+apache 只能访问根目录不能访问子目录 求解决
dir($dirname, "hello1");
function dir($dirsrc, $dirto){
if(is_file($dirto)){
echo "目标不是目录不能创建";
return;
}
if(!file_exists($dirto)){
mkdir($dirto);
//echo "创建目录".$dirto."成功!<br>";
}
$dir=opendir($dirsrc);
while($filename=readdir($dir)){
if($filename!="." && $filename!=".."){
$file1=$dirsrc."/".$filename;
$file2=$dirto."/".$filename;
if(is_dir($file1)){
dir($file1, $file2); //递归处理
}else{
($file1, $file2);
}
}
}
closedir($dir);
}
用php遍历文件夹,php并没有提供一个可以读取整个文件夹的函数,必须使用递归函数,上面是一个复制文件夹的例子,你看看,这里面就有遍历
readdir()函数作用取出文件名,每次执行后的,指针会指向下一个文件名
『玖』 win2003+apache配置不同目录的二级域名
域名是域名商那里设置的
下面是我博客上的东西
前提
俺没有DNS服务.用的是windows.要做虚拟主机
-----------------------------------------------------------------------
首先搞定dns,这个是关键...apache的虚拟主机要有dns的解析才能使用
Win9x中这个文件位于windows目录下,文件名可能是hosts.sam;Win2K及以后的操作系统中这个文件位于WINNT\system32\drivers\etc 目录下,文件名为hosts。
打开就能看到
127.0.0.1 localhost
熟悉吧...这下知道localhost为什么也叫主机了吧
添加一个 test.com和test.myz
这样好象不能用book.test.myz或者news.test.myz...这个就要用dns了...
完成如下:
127.0.0.1 localhost
127.0.0.1 test.com
127.0.0.1 test.myz
-----------------------------------------------------------------------
下面就开始做虚拟主机
我的项目目录D:/马永占
在里面建立两个文件夹做测试
一个叫myz,一个叫myz2
在httpd.conf最后加上,如下....
NameVirtualHost *:80
<VirtualHost *:80>
ServerName test.com
DocumentRoot D:/马永占/myz
</VirtualHost>
<VirtualHost *:80>
ServerName test.myz
DocumentRoot D:/马永占/myz2
</VirtualHost>
别忘了重启apache
然后可以试了
放个index.html在test文件夹下
访问test.com OK
如果出现403,请查看apache中的目录权限设置
出现404,请查看上面写的documentroot是否正确,再看看文件夹里是否有文件....对了,也可以把Include conf/extra/httpd-vhosts.conf前面的#去掉
然后去extra文件夹里找那个文件.在里面写VirtualHost
注意:写了VirtualHost后如果遇到没有的,就默认执行第一个VirtualHost
http://blog.csdn.net/mayongzhan/archive/2007/12/20/1956214.aspx