我使用Win 7.我下載了XAMPP 1.7.1。我必須將http:// localhost /更改爲http://localhost:8080/,因爲端口80已經很忙。在httpd.conf中,我將AllowOverride更改爲All。本地php網站無法在XAMPP上運行。可能的modrewrite問題?
我運行一個本地網站(PHP 4.2和MySQL)。網站的根目錄(位於E:\ xampp \ htdocs \ test)包含一個htaccess文件。
我檢查了php的信息,看看是否加載了mod_rewrite。 htaccess文件也正常工作,正在拾起(我試圖在htaccess文件中輸入無意義的文本,並得到一個服務器錯誤後,確認htaccess是好的)。
該網站的主頁加載正常,但它似乎沒有拿起CSS或JavaScript文件。顯示具有直接url的主頁文本和圖像,但不應用任何css樣式。另外,到其他頁面的任何鏈接都會將我帶到http:// localhost/xampp /。
我檢查錯誤日誌並顯示出這個錯誤(也有很多這樣的線):
[Sun May 01 22:26:57 2011] [error] [client 127.0.0.1] File does not exist: E:/xampp/htdocs/scripts, referer: http://localhost:8080/test/.
的htaccess文件如下(此文件的工作原理刪除服務器上的偉大):
RewriteEngine On
RewriteBase/
<FilesMatch ".(ico|pdf|flv|jpg|jpeg|png|gif|js|css|swf)$">
Header set Expires "Thu, 15 Apr 2015 20:00:00 GMT"
Header set Cache-Control "max-age=172800, public, must-revalidate"
</FilesMatch>
Header unset ETag
FileETag None
<IfModule mod_deflate.c>
SetOutputFilter DEFLATE
SetEnvIfNoCase Request_URI \.(?:gif|jpe?g|png|rar|zip|pdf)$ no-gzip dont-vary
<IfModule mod_headers.c>
Header append Vary User-Agent
</IfModule>
</IfModule>
<IfModule mod_expires.c>
# enable expirations
ExpiresActive On
ExpiresByType image/gif "access plus 7 days"
ExpiresByType image/jpeg "access plus 7 days"
ExpiresByType text/css "access plus 7 days"
ExpiresByType application/x-shockwave-flash "access plus 7 days"
ExpiresByType application/javascript "access plus 7 days"
ExpiresByType text/javascript "access plus 7 days"
ExpiresByType image/png "access plus 7 days"
<FilesMatch "\.(ico|gif|jpg|jpeg|png|flv|pdf)$">
Header append Cache-Control "public"
</FilesMatch>
<FilesMatch "\.(js|css|swf)$">
ExpiresDefault "access plus 7 days"
Header append Cache-Control "public"
</FilesMatch>
</IfModule>
AddEncoding gzip .gz
RewriteCond %{HTTP:Accept-encoding} gzip
RewriteCond %{HTTP_USER_AGENT} !Safari
RewriteCond %{REQUEST_FILENAME}.gz -f
RewriteRule ^(.*)$ $1.gz [QSA,L]
#RewriteRule favicon.ico images/favicon.ico [NC,L]
RewriteCond %{REQUEST_FILENAME} -s [OR]
RewriteCond %{REQUEST_FILENAME} -l [OR]
RewriteCond %{REQUEST_FILENAME} -d
RewriteRule ^.*$ - [NC,L]
RewriteRule ^.*$ index.php [NC,L]
#php_flag magic_quotes_gpc Off
任何想法爲什麼會發生這種情況?
感謝 瓦西里
更新: 我XAMPP打多一點,最後決定以去除阻塞端口80(SQL報告服務)的軟件。然後,我在Apache配置文件中將引用從localhost:8080更改爲localhost:80。
不幸的是,這並沒有解決這個問題。
例如,生成的主頁將顯示在標題下面:
<link href="http://localhost/test/styles/style.css" rel="STYLESHEET" type="text/css" />
<script type="text/javascript" src="http://localhost/test/scripts/jquery.json-2.2.min.js"></script>
鏈接指向正好到了styles.css中和的jquery.js位於我的硬盤驅動器上的位置。
同時到圖像的鏈接的作品,因爲圖像顯示出來:
<div class="logo"><img src="http://localhost/test/images/logo.png" width="356" height="77" /></div>
爲網站配置文件列出了下面的值,其對這一問題都適用:
<siteHost>http://localhost/test/</siteHost>
<database>mysql://root:@localhost/prod</database>
不知道接下來要嘗試什麼。有任何想法嗎?
感謝 Vaciliy
謝謝。我改回本地主機:80,但這並沒有解決問題。 – Vasiliy 2011-05-06 02:01:34