wamp中自己编写的项目打不开的解决方案

老版本解决方案:

打开www目录下的index.php文件,

搜索if (is_dir($file) && !in_array($file,$projectsListIgnore)) ,判断逻辑里面的a标签就是目录,

在http://后面加上localhost/即可

——————————————————————————————————————————————

本人使用的是最新的wamp3.0.6版本,代码长得不一样。不过也差不多

下面是分析(博主建立的项目文件夹为w3c_learn,并且因为iis的原因将wamp的服务端口设置为8080)

这个是没有改变文件内容时点击自己建的项目时浏览器的报错。

可以看出,服务器的原意是将这个文件名作为主机名,并加上了自己设置的端口(8080)。因为试过用http://localhost:8080/w3c_learn/这个URL,是能打开项目网页的。所以不难想出,解决这个问题的途径是有两个的。

1将项目文件夹的URL设置为http://localhost:8080/w3c_learn/

2将http://w3c_learn:8080/这个URL解析到(映射到?不知道哪个说法合适)http://localhost:8080/w3c_learn/。

说实话两种方法我都还不会,但是老版的解决方案提供了线索。对应到新版的代码,可以看出,这段代码就是用来合成这个项目文件夹的URL的。

所以对这段代码进行了分析:

再贴一遍

代码只是一个很简单的if...else...语句。用来创建自建项目列表的,每个列表项都是一个带有超链接(<a>)的<li>

代码核心是href的属性值,也就是URL。

if句块合成的URL是:http://+文件名(w3c_learn)+端口号(:8080)+/

else句块合成的URL是:http://localhost+端口号+/+文件名+/

结合报错出来的这个URL(http://w3c_learn:8080/),不难看出这个if...else...执行的是第一句,而我们要的正好是第二句,也就是else语句执行的结果。

——————————————————————————————————————————————————

所以,解决方案在这里

打开www目录下的index.php文件,

搜索if (is_dir($file) && !in_array($file,$projectsListIgnore))

将if的语句块和else的语句块进行对调就ok了。像这样

重要提醒:修改完文件要保存,退出wamp,再重启。

————————————————————————————————————————————

补充:这里的解决方案用的是上面提到的两种途径中的第一种,如果有会第二种,使用映射或解析的欢迎回复补充。

  另外,这种方法只是简单看了这一小段代码进行分析的。看起来似乎是官方php配置文件本身有问题?我想应该不是吧,如果有知道更规范的设置方法的大神,烦请不吝赐教。

时间: 2024-08-09 23:08:41

wamp中自己编写的项目打不开的解决方案的相关文章

04-在views.py中使用class编写django项目

在views.py中使用class编写django项目 知识点:urls.py配置文件本质是URL与要为该URL调用的视图函数之间的映射表 1. 用户信息展示页 1.1 在urls.py中添加用户展示页路由 from django.conf.urls import url from django.contrib import admin from app01 import views urlpatterns = [ url(r'^user_list/', views.UserList.as_vi

Qt中如何 编写插件 加载插件 卸载插件

Qt中如何 编写插件 加载插件 卸载插件是本文要介绍的内容.Qt提供了一个类QPluginLoader来加载静态库和动态库,在Qt中,Qt把动态库和静态库都看成是一个插件,使用QPluginLoader来加载和卸载这些库.由于在开发项目的过程中,要开发一套插件系统,就使用了Qt的这套类库. 一 编写插件 编写一个Qt的插件需要以下步骤 1.声明一个插件类, 2.定义一个类,实现这个插件类定义的接口,定义的这个类必须从QObject集成下来. 3.使用Q_INTERFACESQ_INTERFACE

[Android]对BaseAdapter中ViewHolder编写简化(转)

来自博客:http://www.cnblogs.com/tiantianbyconan/p/3642849.html 在Android项目中,经常都会用到ListView这个控件,而相应的Adapter中getView()方法的编写有一个标准的形式,如下: 1 @Override 2 public View getView(int position, View convertView, ViewGroup parent) { 3 ViewHolder holder; 4 if(null == c

dat文件中如何编写DOS的多行命令

dat文件中如何编写DOS的多行命令 2012-10-15 11:29 四海柔情108 分享到: 2012-10-16 23:36 提问者采纳 你问的应该是BAT文件吧?BAT是DOS命令的批量运行方式,是顺序执行的单个命令.BAT可以使用任意文本编辑器编写,如:记事本.Word等等.在DOS环境中,可以使用命令行工具和EDIT编辑器进行编辑: 1. copy con abc.bat回车后开始逐行写命令,到最后一行的时候,按F6键,再回车,把书写的命令行保存为当前目录下的abc.bat文件. 2

在wamp中安装sql server驱动的步骤方法

在wamp中安装sql server驱动的方法 配置php+sql server 连接方式,配置成功才能远程访问数据库. PHP自带的MSSQL扩展php_mssql.dll是给SQL Server 2000用的 要使用SQL Server 2005以上版本,就要用到微软为PHP提供的最新第三方扩展SQL Server Driver for PHP才行. 以下是安装的步骤:(前提条件,在wamp安装正确的情况下,图标是粉红色的,打开运行后变成绿色就是正常的) 第一步.下载SQL Server D

Maven入门1-在Eclipse中新建Maven Web项目

在eclipse中新建Maven Web项目 很多时候开发效率低下,大部分原因是IDE环境不熟悉.配置不会配置:因此在学习一项技能之前,有必要对基本的环境配置有所了解,正所谓磨刀不误砍柴工.这篇文章主要针对初次接触Maven,不熟悉配置的研究人员. 1.Maven配置及介绍 Maven官网:http://maven.apache.org/ 以前开发Java Web工程时,需要导入很多依赖包,但是随着工程逐渐变大,所管理的包越来越多,有必要使用工具来管理这些包,这样不需要我们手动导入:Maven就

VS中生成、清理项目、调试、开始执行(不调试)、Debug 和 Release等之间的区别

一.生成和重新生成 "生成"的时候只对你改动过的文件重新生成没有改动过的文件不会重新生成: "重新生成"是对所有的文件都重新生成. 以cpp为例当你只改动某些.cpp之类的文件的时候可以用生成省了编译没有改动的那些些文件的时间:但是改动了某些.h之类的文件最好用重新生成,因为有可能能有些文件包含.h文件也需要重新编译 选择生成或生成解决方案,将只编译自上次生成以来更改过的那些些项目文件和组件 注意 如果解决方案中包括多个项目,则生成命令将变成生成解决方案. 选择重新

AS中导入GitHub开源项目SlidingMenu总结,此方法有效,但是太耗时间。 「我用了半个多小时」

AS中导入GitHub开源项目SlidingMenu总结,我开始AS导入SlidingMenu的时候也百度了很多文章,写的都不是很详细,所以导入成功后,写了这篇文章,希望对想用AndroidStudio导入SlidingMenu的小伙伴有所启发. 先上最终效果图动画 1,下载SlidingMenu(https://github.com/jfeinstein10/SlidingMenu) 2.新建AS项目,把SlidingMenu-master中的library文件夹(我把这个文件夹重命名为sli

WAMP中的mysql设置密码(默认密码为空)及phpmyadmin的配置

来自:  http://wenku.baidu.com/link?url=J4K28e1kt-_ykJLsOtS1b5T6hKj5IzL5hXSKIiB133AvPCUXLlxGKScsBsxi0mA-mPaL3dNDMQZ-UW9aHqIG1KQLEKDZmUWO0XY9ozUtnd7 为WAMP中的mysql设置密码密码   WAMP安装好后,mysql密码是为空的,那么要如何修改呢?其实很简单,通过几条指令就行了,下面我就一步步来操作.  1. 首先,通过WAMP打开mysql控制台.