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