我已经在Windows XP SP3上安装了Apache 2.2服务器和PHP 5.3。 初始安装后,Apache加载了测试页,即
http:/ localhost(C:/ Program Files / Apache2.2 / htdocs / index.html)显示"有效!"。
在配置Apache和安装PHP之后,尝试加载http:/localhost/phptest.php,即(C:/testsite/htdocs/phptest.php)。
但这会引发错误:
Not Found. The requested URL /phptest.php was not found on this server.
我现在也加载相同的错误
http://localhost
httpd.conf编辑:
ServerName localhost:80
DocumentRoot"C:/testsite/htdocs"
Options FollowSymLinks
AllowOverride None
Order deny,allow
Deny from all
DirectoryIndex index.html index.php
LoadModule php5_module"c:/testsite/php/php5apache2_2.dll"
AddType application/x-httpd-php .php
AddHandler application/x-httpd-php .php
PHPIniDir"C:/testsite/php"
文件php.ini编辑:
include_path =".;C:\testsite\php\includes"
extension_dir ="C:/testsite/php/ext/"
系统路径:
PHP目录已添加到Windows路径,例如
PATH=C:\Windows\System32;C:\many_dir;C:\testsite\php
Apache error.log中唯一的错误是:
Warning: DocumentRoot [C:/Program Files/Apache Software Foundation/Apache2.2 /docs/dummy-host.localhost] does not exist
Warning: DocumentRoot [C:/Program Files/Apache Software Foundation/Apache2.2/docs/dummy-host2.localhost] does not exist
Warning: DocumentRoot [C:/Program Files/Apache Software Foundation/Apache2.2/docs/dummy-host.localhost] does not exist
Warning: DocumentRoot [C:/Program Files/Apache Software Foundation/Apache2.2/docs/dummy-host2.localhost] does not exist
Apache服务成功重新启动并正在运行。 我找不到任何不对的地方。 谁能发现任何愚蠢的错误?
尝试在conf中将Deny from all更改为Allow from all,看看是否有帮助。
将其更改为"全部允许",然后重新启动Apache。 不幸的是仍然得到未找到的错误。
可能在" apache2 / other"目录中有多个.conf或同一文件的某些配置有问题
在httpd.conf文件中,您需要删除#
#LoadModule rewrite_module modules/mod_rewrite.so
删除#行后将如下所示:
LoadModule rewrite_module modules/mod_rewrite.so
然后Apache重新启动
不平凡的原因:
如果您的.htaccess是DOS格式,请将其更改为UNIX格式(在Notepad ++中,单击Edit>Convert)
如果您的.htaccess处于UTF8 Without-BOM中,则使其带有BOM。
我遇到了同样的问题,但无论是否相信,都是大小写敏感的情况。
这在本地主机上:
http://localhost/.../getdata.php?id = 3
在服务器上的行为与此不同:
http://服务器/.../getdata.php?id=3
将服务器网址更改为此(注意getData中的大写字母D)解决了我的问题。
http://localhost/.../getData.php?id = 3