首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

在使用localhost apache的mvc php中使用漂亮的url

在使用localhost Apache的MVC PHP中使用漂亮的URL,可以通过配置Apache服务器和使用URL重写来实现。

首先,确保你的Apache服务器已经安装并且正在运行。然后,打开Apache的配置文件,可以在Apache安装目录下的conf文件夹中找到。找到并编辑httpd.conf文件。

在httpd.conf文件中,找到以下行并取消注释(去掉行首的#符号):

LoadModule rewrite_module modules/mod_rewrite.so

接下来,找到以下行并将AllowOverride的值改为All:

<Directory />

AllowOverride All

</Directory>

保存并关闭httpd.conf文件。然后重启Apache服务器,使配置生效。

接下来,你需要在你的项目根目录下创建一个名为.htaccess的文件。在.htaccess文件中,添加以下代码:

RewriteEngine On

RewriteCond %{REQUEST_FILENAME} !-f

RewriteCond %{REQUEST_FILENAME} !-d

RewriteRule ^(.*)$ index.php?url=$1 QSA,L

上述代码将会将所有的URL请求重写到index.php文件,并将URL作为参数传递给index.php文件的url变量。

现在,你可以在你的MVC PHP应用程序中使用漂亮的URL了。例如,如果你的应用程序有一个控制器叫做UserController,你可以通过访问以下URL来调用UserController中的方法:

http://localhost/user/register

这样的URL看起来更加友好和易读,同时也提高了用户体验。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

goto语法PHP使用

goto语法PHP使用 C++、Java及很多语言中,都存在着一个神奇语法,就是goto。顾名思义,它使用是直接去到某个地方。从来代码角度来说,也就是直接跳转到指定地方。...我们PHP也有这个功能,我们先来看看它是如何使用: goto a; echo "1"; // 不会输出 a: echo '2'; // 2 代码运行到goto位置时,就跳转到了a:所在代码行并继续执行下去...感觉很好玩吧,这个功能对于复杂嵌套if或者一些循环中进行跳出很有用,特别是针对某些异常或者错误情况处理,比如: for ($i = 0, $j = 50; $i < 100; $i++) {...所以,goto这个语法使用非常少,因为它会扰乱你代码逻辑流程,但喜欢它的人又会感觉到可以让代码非常地灵活多变。...这就要仁者见仁智者见智进行选择了,目前大多数语言文档中都并不是很提倡使用这个语法,包括PHP

2.7K10

trait能力PHP使用

trait能力PHP使用 相信大家对trait已经不陌生了,早在5.4时,trait就已经出现在了PHP新特性。当然,本身trait也是特性意思,但这个特性主要能力就是为了代码复用。...我们都知道,PHP是现代化面向对象语言。...为了解决C++多重继承混乱问题,大部分语言都是单继承多接口形式,但这也会让一些可以复用代码必须通过组合方式来实现,如果要用到组合,不可避免就要实例化类或者使用静态方法,无形增加了内存占用。...如果注释掉testB类test()方法,则会报错。因为程序无法区分出你要使用是哪一个traittest()方法。我们可以使用insteadof来指定要使用方法调用哪一个trait。...当然,越是灵活东西越需要我们去弄明白它一些使用规则,这样才能避免一些不可预见错误。

1.9K10
  • Redis PHP使用笔记

    (Windows+Linux) 继续推荐: phpredis 使用文档(英文) phpredis 中文手册 ——《redis中文手册》 php版 【phpredis 中文手册下载】 —— 链接...Redis 类命名空间是根 \ phpredis 命令和参数和 redis.io 实际命令对应 ♫ 笔记 ①....事实上,更多时候 Redis 是在数据库和代码中间作为一个中间件使用,如果你发现你目前数据库出现瓶颈,那么你就可以通过 Redis 来优化 ♬ 代码使用 可以参考视频 —— 【php 操作 redis...四种NoSQL数据库比较: ? ②. rpoplpush 使用场景 ? ③. Redis 现实世界 5 个用法 全页面缓存 排行榜 会话Session存储 队列 pub/sub 附录 ①....是否使用过Redis集群,集群原理是什么? Redis Sentinal 着眼于高可用, master 宕机时会自动将 slave 提升为 master,继续提供服务。

    98750

    PHP,cookie和session使用

    PHP工作原理:PHP通过setcookie函数进行Cookie设置,任何从浏览器发回Cookie,PHP都会自动将他存储$_COOKIE全局变量之中,因此我们可以通过$_COOKIE['key...用途:PHPCookie具有非常广泛使用,经常用来存储用户登录信息,购物车等,且使用会话Session时通常使用Cookie来存储会话id来识别用户,Cookie具备有效期,当有效期结束之后,...header("Set-Cookie:cookie_name=value"); cookie删除与过期时间 PHP删除cookie也是采用setcookie函数来实现。...一般情况下,大多是使用所有路径,只有极少数有特殊需求时候,会设置路径,这种情况下只指定路径才会传递cookie值,可以节省数据传输,增强安全性以及提高性能。...使用session PHP使用session非常简单,先执行session_start方法开启session,然后通过全局变量$_SESSION进行session读写。

    4K70

    apache shiro spring 使用

    -- 登录成功后要跳转连接(本例此属性用不到,因为登录成功后处理逻辑LoginController里硬编码为main.jsp了) --> <!...Shiro会做,我们只需返回一个和令牌相关正确验证信息 //说白了就是第一个参数填登录用户名,第二个参数填合法登录密码(可以是从数据库取到,本例为了演示就硬编码了) //这样一来,随后登录页面上就只有这里指定用户和密码才能通过验证...; import org.apache.shiro.subject.Subject; /** * 自定义指定Shiro验证用户登录类 * @see 本例定义了2个用户:papio和big,papio...Shiro会做,我们只需返回一个和令牌相关正确验证信息 //说白了就是第一个参数填登录用户名,第二个参数填合法登录密码(可以是从数据库取到,本例为了演示就硬编码了) //这样一来,随后登录页面上就只有这里指定用户和密码才能通过验证

    55820

    使用mac上自带apachephp

    apache配置文件路径 /etc/apache2 启动,停止重启apache sudo apachectl start sudo apachectl stop sudo apachectl restart...自带版本稍微低了一点,我们使用下面的命令升级一下php版本到7.3 brew install php@7.3 ?...中使用php7的话,http.conf文件中加入以下代码,把libphp5.so那句注释掉,php5.conf文件内将php5代码块也替换掉 LoadModule php7_module /usr...关于mysql忘记初始密码 使用mysql --version命令,若出现command not found:mysql,则需要如下操作,关闭mysql服务,之后安全模式启动mysql cd /usr...权限相关 mac下改某些文件下内容不是太方便,于是可以将当前文件夹权限修改一下,使用如下命令(如修改/Library/WebServer/Documents文件夹下权限), chmod 777

    2.1K31

    PHPstrpos函数正确使用方式

    首先简单介绍下 strpos 函数,strpos 函数是查找某个字符字符串位置,这里需要明确这个函数作用,这个函数得到是位置。 如果存在,返回数字,否则返回是 false。...而很多时候我们拿这个函数用来判断字符串是否存在某个字符,一些同学使用姿势是这样 // 判断‘沈唁志博客’是否存在‘博客’这个词 if (strpos('沈唁志博客', '博客')) {...echo '不存在'; } 输出了’不存在’;原因是因为 ‘沈’ ‘沈唁志博客’第 0 个位置;而 0 if 中表示了 false,所以,如果用 strpos 来判断字符串是否存在某个字符时...必须使用===false 必须使用===false 必须使用===false 重要事情说三遍,正确使用方式如下 // 判断‘沈唁志博客’是否存在‘博客’这个词 if (strpos('沈唁志博客...原创文章采用CC BY-NC-SA 4.0协议进行许可,转载请注明:转载自:PHPstrpos函数正确使用方式

    5.2K30

    final关键字PHP使用

    final关键字PHP使用 final关键字使用非常简单,PHP最主要作用是定义不可重写方法。什么叫不可重写方法呢?就是子类继承后也不能重新再定义这个同名方法。...() function testA(){ echo 'This is class childA', PHP_EOL; } } 而如果在类定义前加上这个关键字的话,则类也是不可继承...答案当然是否定,接口意义本身就是定义一个契约让实现类来实现,如果定义了final关键字,那么接口意义就不存在了,所以从语言层面来说接口以及接口中方法就不能使用final关键字。...Fatal error: Access type for interface method C::testC() must be omitted final function testC(); } Java...,final还可以用来定义常量,但在PHP,类常量是通过const来定义

    2.3K20

    工具系列 | CasbinPHP使用教程

    支持RBAC多层角色继承,不止主体可以有角色,资源也可以具有角色。 支持超级用户,如 root 或 Administrator,超级用户可以不受授权策略约束访问任意资源。...工作原理 Casbin , 访问控制模型被抽象为基于**PERM (Policy, Effect, Request, Matcher)**一个文件。...您可以通过组合可用模型来定制您自己访问控制模型。例如,您可以一个model获得RBAC角色和ABAC属性,并共享一组policy规则。 Casbin中最基本、最简单model是ACL。...此外,对于 ABAC,您在可以 Casbin golang 和 php 版本尝试下面的 (jCasbin 和 Node-Casbin 尚不支持)操作: # Matchers [matchers] m...Policy是动态存储policy rules,可以存在.csv文件或数据库。 Enforcer决定一个"subject"对一个"object"是否有"action"权限。

    1.6K10

    encodeURIComponent()函数url传参作用和使用方法

    为什么使用 encodeURIComponent() 使用 URL 传参时候,如果参数中有空格等特殊字符,浏览器可能只会读取到空格面前内容,导部分致数据丢失。...可以使用 encodeURIComponent() 方法,将这些特殊字符进行转义,这样就可以正常读取了。...一个字符串,含有 URI 组件或其他要编码文本。 返回值: URIstring 副本,其中某些字符将被十六进制转义序列进行替换。...应用: 如果我们要将一个对象通过 URL 进行传输,可以将对象转成字符串,再用 encodeURIComponent() 函数进行转义: encodeURIComponent(JSON.stringify...未经允许不得转载:w3h5 » encodeURIComponent()函数url传参作用和使用方法

    10.8K21

    JQuery文件上传插件ajaxFileUploadAsp.net MVC使用

    0 ajaxFileUpload简介 ajaxFileUpload插件是一个非常简单基于Jquery异步上传文件插件,使用过程中发现很多与这个同名,基于原始版本基础之上修改过插件,文件版本比较多...,我把我自己使用ajaxFileUpload文件上传到博客园上了,想要使用朋友可以下载:http://files.cnblogs.com/files/fonour/ajaxfileupload.js...type: "post", //请求类型:post或get,当要使用data提交自定义参数时一定要设置为post url: "/Shared...return decimal.Round(decimal.Divide(bytes, mbLength), 2).ToString() + "MB"; } 2 ajaxFileUpload使用过程一些问题...解决方法: 经测试handlerError只jquery-1.4.2之前版本存在,以后版本中都没有这个函数了,因此将handleError这个函数复制到ajaxFileUpload.js,就行了

    3.2K90

    如何使用 Apache IoTDB UDF

    本篇作者: IoTDB 社区 -- 廖兰宇 本文将概述用户使用 UDF 大致流程,UDF 详细使用说明请参考官网用户手册: https://iotdb.apache.org/zh/UserGuide...1.1 Maven 依赖 如果您使用 Maven,可以从 Maven 库搜索下面示例依赖。请注意选择和目标 IoTDB 服务器版本相同依赖版本,本文中使用 1.0.0 版本依赖。...您可以放心地 UDTF 维护一些状态数据,无需考虑并发对 UDF 类实例内部状态数据影响。...而在进行窗口运算时候,需要选取窗口中某一行时间戳作为这个窗口结果时间戳,特定数据场景下,这种使用可能会由于窗口重叠造成同一时间戳被多次放入 PointCollector 而导致非预期结果。...如果两个 JAR 包里都包含一个 org.apache.iotdb.udf.UDTFExample 类,当同一个 SQL 同时使用到这两个 UDF 时,系统会随机加载其中一个类,导致 UDF 执行行为不一致

    1.2K10

    Spring 5 MVC Router Function 使用

    第二个原因是WebFlux推荐使用这个方式,而Spring将来有可能推荐使用WebFlux而非MVC(Spring mvc可能会被废弃)。所以我们需要提早掌握。...如果你复制这段代码后编译报错,可能是引入了webflux依赖,我们这里使用是web依赖,注意看一下import类 路由嵌套 惊喜之余,可能你在上面的代码中发现有一点小问题:使用Controller...但是使用函数式,貌似每个Url都要自己拼上这一段。 其实,这两种东西都是spring自己搞,它不可能削弱新东西表达能力。那应该怎么用呢?...可以任意增加新Action方法,只要使用RequestMapping标注就行,这样发布就能立即生效。...那RouterFunction怎么增加更多路由呢? RouterFunctions提供了一个方法andRoute,可以添加更多路由。

    1.5K11

    redisphp使用笔记

    redis没有表概念 由于没有数据表概念、我们很多基于关系型数据库查询方式、Redis服务器上就要有新思路。...譬如说我们通过4张表来维护用户数据、redis上就应该只使用一个Hash 另外类似于Comment这样表,我们就需要设计成Redis List类型 以COMMET_USERID来作为key 每一次添加一条反序列化数据进去...第三个方案时候,其实我们并不应该使用HASH 因为相对来说SETTING动态存取概率不大,另外总数据量也相对很小。应该直接使用SET来进行存取。...这和我AppSiteJS前端缓存做法是相同,区别在于js存储数据到localStorage而且localstorage数据量增大之后,查询效率明显下降,所以需要做好数据量控制。...服务端进行数据缓存还需要注意,由于数据是可变,需要在数据产生变化时候同步更新到缓存,亦或是在数据库数据产生更新时删除缓存。

    36230

    PHP如何使用全局变量方法详解

    有很多方法能够使这些数据成为全局数据,其中最常用就是使用“global”关键字申明,稍后文章我们会具体讲解到。...使用全局变量和“global”关键字 PHP默认定义了一些“超级全局(Superglobals)”变量,这些变量自动全局化,而且能够程序任何地方中调用,比如$_GET和$_REQUEST等等。...开发过程,你可能会知道知道每一个全局变量,但大概一年之后,你可能会忘记其中至少一般全局变量,这个时候你会为自己使用那么多全局变量而懊悔不已。 那么如果我们不使用全局变量,我们该使用什么呢?...为了更加容易使用注册器,我们把它调用改成单件模式(译者注:不使用前面提到函数传递)。因为我们程序只需要使用一个注册器,所以单件模式使非常适合这种任务。...虽然这些变量都非常标准,而且在你使用也不会出什么问题,但是某些情况下,你可能同样需要使用注册器来封装它们。 一个简单解决方法就是写一个类来提供获取这些变量接口。

    7.3K100
    领券