apache2的php
A. Apache如何開啟Mod_rewrite模塊以及phpWind偽靜態(全偽)
要開啟Apache的Mod_rewrite模塊,首先需要進入Apache配置文件httpd.conf,位於Apache2\conf路徑下。在該文件中,搜索到LoadMole rewrite_mole moles/mod_rewrite.so這一行,去掉前面的#符號,表明該模塊可以被載入。接下來,繼續在httpd.conf文件中搜索AllowOverride None,找到與之相似的配置項,並將其替換為AllowOverride All。這樣做的目的是為了允許伺服器解析.htaccess文件,進而實現URL重寫功能。
完成上述配置後,需要重啟Apache服務以使更改生效。重啟Apache的方法取決於您的操作系統。例如,在Windows上,可以通過Apache安裝目錄下的httpd.exe文件來重啟服務。而在linux上,可以使用命令行工具,如在終端中輸入「sudo service httpd restart」。重啟後,Mod_rewrite模塊應該已經成功啟用。
開啟Mod_rewrite模塊後,可以利用PHPWind的偽靜態功能,為網站提供更簡潔友好的URL。在PHPWind中,通常需要編輯配置文件,以配置URL重寫規則。在httpd.conf文件中,設置AllowOverride All後,可以在網站根目錄下創建.htaccess文件,編寫具體的URL重寫規則。這些規則可以將訪問者請求的URL轉換為PHPWind系統能夠識別的內部URL,從而實現偽靜態效果。
編寫.htaccess文件時,可以使用如下的偽靜態規則示例:
<IfMole mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfMole>
以上規則將所有非文件和非目錄的請求路由到index.php文件處理。通過這種方式,可以為PHPWind網站創建一個更加用戶友好的URL結構。
需要注意的是,啟用Mod_rewrite模塊可能會對伺服器性能產生一定影響,尤其是在處理大量請求時。因此,在實際應用中,建議根據具體需求和伺服器負載情況,謹慎調整相關配置。
此外,還需要確保Apache伺服器正確配置了相應的PHP模塊,以支持PHPWind的運行。這通常涉及到在httpd.conf文件中載入php_mole,並在虛擬主機配置中指定正確的PHP處理方式。
B. linux下apache2和php亂碼問題
# # 完全原創 # #
windows上倒是遇見過很多中亂碼,但有些部分應該是差不多的。有參考其他資料,但沒有直接復制大段文字,是自己一點點總結出來的。希望能夠幫到你。影響因素較多,一一列出1. apache的httpd.conf中有默認編碼的設置 ,例如 AddDefaultCharset utf-8,這個會有一定影響
2. php的php.ini中也有默認編碼的設置,例如default_charset = "utf-8",只能有一個默認編碼
3. 資料庫欄位使用的編碼:如果是Latin很容易亂碼的
4. php源代碼文件的編碼:源代碼在開發過程中,文本存為文件本身也是有編碼方式的。
5. php代碼中使用header控制編碼(可以省略)
<?php
header(「Content-Type: text/html; charset=utf-8");
?>
6. 網頁前台的編碼
html代碼中的meta <meta http-equiv="content-type" content="text/html;charset=utf-8">
實際應用中,改變伺服器設置不現實,尤其是租伺服器,主機提供商不會幫你改的
因此,從3456入手,而且各個部分應該一直、匹配。
也就是說,資料庫用了utf-8,那麼源碼也存成utf-8,網頁前台也content="text/html;charset=utf-8"附加說明:
第4點:
一般IDE(例如ZendStudio)是可以指定代碼編碼的,但是有一些例外:
使用Win7的記事本修改後,存為utf-8,會加入windows特有的utf-8標記「BOM」,這是微軟為了標記編碼在文件頭加的額外信息,這樣的源代碼被執行後,BOM會發往客戶端!客戶端收到的網頁開頭是亂的,因為BOM打亂了內容編碼的解析
在Mac上使用編輯工具修改源代碼後,代碼的存儲編碼會發生較大變化,本人在於團隊合作過程中也因此出現較多問題,不推薦使用系統(win/mac)自帶的一些文本編輯工具(即使他們有代碼高亮或代碼提示)
使用成熟的IDE是很不錯的辦法第5點:
用header控制編碼要注意和其他設置頭(header)的操作的前後關系,容易導致 「無法修改已發送的頭」的錯誤
用這個其實有時候實屬無奈,但很有效第6點:
請把<meta http-equiv="content-type" content="text/html;charset=utf-8"> 放到<title></title>之前!!
因為如果title包含中文,很可能悲劇。本人遇到過兩次整站直接空白無法顯示出來的問題,就是因為次序問題。
C. 在區域網內,用Apache2建了PHP伺服器,IP地址是自動獲取,建立了虛擬主機,如何在別的電腦上來訪問站點
server啟動之後,查看他的IP地址是多少,這個就不贅述了,假如看到的是192.168.1.2,在看你當時做虛擬主機的埠是多少,默認一個是80,在另外一台機器上,打開瀏覽器,輸入http://192.168.1.2:80 就可以訪問了,具體參數查看你的伺服器的設置。另外一個網站的訪問http://192.168.1.2:X, 80和X的埠號具體是多少,你應該清楚,或者上apache去查吧