laravel 去掉index.php伪静态的操作方法

1、首先,让apache服务器支持rewrite

可以在apache配置文件中定义rewrite规则,是全局的,无论哪个应用都实用

//httpd.config

Listen 80

RewriteEngine on ---将rewrite开启

LoadModule rewrite_module modules/mod_rewrite.so 前面的注释去掉

在Directory中配置:

<Directory "/www/poem/public">

Options Indexes FollowSymLinks

AllowOverride All ----这项一定要进行修改

Order deny,allow

Allow from all

</Directory>

2、配置.htaccess文件 ---find / -name .htaccess 来查找此文件

<IfModule mod_rewrite.c>

Options +FollowSymLinks

RewriteEngine On

</IfModule>

<IfModule mod_rewrite.c>

RewriteCond %{REQUEST_FILENAME} !-f

RewriteCond %{REQUEST_FILENAME} !-d

RewriteRule ^(.*)$ index.php/$1 [L] ---这句话的含义是:任何访问网站的路径都映射成index.php/xxx,其中xxx是$1 与 (.*)中的内容进行匹配 例如我们输入http://192.168.0.222/about -->http://192.168.0.222/index.php/about

</IfModule>

3、如果是专门针对laravel进行配置,则在app/app.php中加入

index=>'', //laravel4.1中没有此项,直接手写加入即可

如果还不行

先在httpd.conf注释掉

#<Directory />
# Options FollowSymLinks
# AllowOverride All
# Order deny,allow
# Deny from all
#</Directory>

然后在httpd-vhost修改如下,

<VirtualHost *:80>
 ServerAdmin none@none.com
 DocumentRoot "E:/www/learnlaravel5/public"
 ServerName le
 DirectoryIndex index.php index.html
 ErrorLog "logs/dummy-host.2012-20090214YX.domain-error.log"
 CustomLog "logs/dummy-host.2012-20090214YX.domain-access.log" common
 <Directory "E:/www/learnlaravel5/public">
 Options -Indexes +FollowSymLinks
 AllowOverride all
 Order allow,deny
 Allow from all
 #Require all granted
 </Directory>
</VirtualHost>

以上这篇laravel 去掉index.php伪静态的操作方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持我们。

(0)

相关推荐

  • 解决laravel(5.5)访问public报错的问题

    1.访问public目录报错: 原因:laravel根目录缺少vendor依赖文件目录: 解决:使用 composer install 进行安装:若之前安装过使用 composer update 安装: 2.composer update 后报错: 原因:php.ini配置文件没有开启fileinfo扩展: 解决:打开php.ini配置文件,将extension=php_fileinfo.dll之前的;去掉:再次执行composer update 命令,成功执行安装.完美解决: 以上这篇解决la

  • laravel框架实现去掉URL中index.php的方法

    1.将框架根目录下的server.php文件重命名为index.php 2.将框架根目录下的文件夹public下的.htaccess文件复制到框架根目录下,与index.php处于同一目录 3.修改Apache的httpd.conf文件 1.httpd.conf文件所在路径\bin\apache\apache2.4.23\conf\httpd.conf,例如,我的电脑中httpd.conf路径为:D:\wamp\bin\apache\apache2.4.23\conf\httpd.conf 找到

  • Laravel解决nesting level错误和隐藏index.php的问题

    错误提示:Maximum function nesting level of '100' reached, aborting! 解决办法:因为我是在windows上搭建的wamp环境,linux和mac暂时还没有实验,首先找到php.ini找到xdebug项,在最后添加一行xdebug.max_nesting_level=500 那么laravel如何隐藏index.php呢? 首先进入public文件夹建立.htaccess文件,写入 <IfModule mod_rewrite.c> Opt

  • laravel5环境隐藏index.php后缀(apache)的方法

    在这之前我将laravel目录下的server.php重命名为index.php 链接变成了http://localhost/blog/index.php/xxx/xxx 之前我根据网上的方法操作过,很多都不能用,然后看到一篇搭建laravel环境的文章,有了思路 1.sudo vim /etc/hosts 添加: 127.0.0.1 xuan.blog(后面我发现这里其实可以随便填...) 2.启用mod_rewrite sudo a2enmod rewrite 然后重启apache服务器 s

  • laravel 去掉index.php伪静态的操作方法

    1.首先,让apache服务器支持rewrite 可以在apache配置文件中定义rewrite规则,是全局的,无论哪个应用都实用 //httpd.config Listen 80 RewriteEngine on ---将rewrite开启 LoadModule rewrite_module modules/mod_rewrite.so 前面的注释去掉 在Directory中配置: <Directory "/www/poem/public"> Options Indexe

  • Laravel 登录后清空COOKIE的操作方法

    需求 在Laravel 登陆立即清空保存的COOKIE数组 实现 # Http/Controllers/Auth/LoginController.php public function redirectTo() { // 设置为登陆成功 session session()->put('show-login-success', 1); // 订阅内容 $logs = request()->cookie('subscribe'); if ($logs) { $subscribe = new Sub

  • Laravel 手动开关 Eloquent 修改器的操作方法

    测试框架版本是 Laravel 6.5, Eloquent 修改器使用可以参阅 -> 查看文档 修改器的手动开关的场景就是差异化的返回数据,例如在后台管理的时候,图片地址要相对路径,然后 app 端期望返回全路径的地址,这个时候就需要手动开启和关闭了. 大概操作就是在模型中声明一个静态变量,然后修改器中判断这个静态变量值是 true/false; 如果是 true 则处理,如果为 false 就不处理,具体操作: public static $modify = true; /** * 获取用户的

  • ThinkPHP6.0 重写URL去掉Index.php的解决方法

    踩坑! 官网给的解决方案: 解决重写URL,省去index.php问题 可以通过URL重写隐藏应用的入口文件index.php,下面是相关服务器的配置参考: [ Apache ] httpd.conf配置文件中加载了mod_rewrite.so模块 AllowOverride None 将None改为 All 把下面的内容保存为.htaccess文件放到应用入口文件的同级目录下 <IfModule mod_rewrite.c> Options +FollowSymlinks -Multivie

  • 详解如何在云服务器上部署Laravel

    学习PHP和Laravel已经有一段时间了,但是所有的代码都是跑在本地的虚拟主机上的,于是去腾讯云申请了一个月的免费云主机,想把项目部署到云服务器上. 不得不说这里面的坑实在是有点多,让我这个初次接触服务器的小白摸不清头脑.在配置好服务器之后,部署一个Laravel项目更是费劲心思,于是乎想记录下部署Laravel项目的过程. PS: Linux真是越用越有感觉的系统,回家在台式机上也要装个Linux敲代码用. 环境简介 在操作系统的选择上,我选用了Linux ubuntu16.04的系统,使用

  • 修改apache配置文件去除thinkphp url中的index.php

    例如你的原路径是 http://localhost/test/index.php/index/add那么现在的地址是 http://localhost/test/index/add如何去掉index.php呢? 1.httpd.conf配置文件中加载了mod_rewrite.so模块  //在APACHE里面去配置 复制代码 代码如下: #LoadModule rewrite_module modules/mod_rewrite.so把前面的警号去掉 2.AllowOverride None 讲

  • 教你如何在CI框架中使用 .htaccess 隐藏url中index.php

    秉承MVC架构的思想,CI中的所有控制器都需要经过单点入口文件index.php(默认)来加载调用.也就是说,在默认情况下,所有CI开发项目的URL都形如以下这种形式: http://localhost/index.php/blog/logs/this_is_a_test_entry 很显然,默认情况下,index.php在URL地址段中的存在一定程度上影响了URL的简洁和SEO的进行.我们可以通过下面本文介绍的方法来去掉这个讨厌的Index.php. 你或许已经注意到在CodeIgniter用

  • 关于VSCode格式化JS自动添加或去掉分号的问题

    引言 js代码句尾的分号加不加都可以,一般团队开发时需要统一规范,要么都加分号,要么都不加分号 但是有些时候我们能想起来加分号,有的时候想不起来加,这样就会导致我们的代码有的有分号有的没有,就会比较乱 为了解决这个问题,我们可以使用格式化程序来帮助我们自动添加或去掉句尾分号 具体操作方法 先随便敲点js代码,一会用来看效果 如果你下了很多插件,有一堆的js格式化程序,那么你需要配置一下默认使用的格式化程序 选择配置默认格式化程序 选择这个VSCode自带的js格式化程序 打开设置 打开设置的js

  • thinkphp5 URL和路由的功能详解与实例

    前面的话 本文将详细介绍thinkphp5URL和路由 URL访问 ThinkPHP采用单一入口模式访问应用,对应用的所有请求都定向到应用的入口文件,系统会从URL参数中解析当前请求的模块.控制器和操作,下面是一个标准的URL访问格式: http://domainName/index.php/模块/控制器/操作 其中index.php就称之为应用的入口文件(注意入口文件可以被隐藏,后面会提到) 模块在ThinkPHP中的概念其实就是应用目录下面的子目录,而官方的规范是目录名小写,因此模块全部采用

  • 从ThinkPHP3.2.3过渡到ThinkPHP5.0学习笔记图文详解

    本文实例讲述了从ThinkPHP3.2.3过渡到ThinkPHP5.0学习笔记.分享给大家供大家参考,具体如下: 用tp3.2.3做了不少项目,但是毕竟要与时代接轨,学习一些新的框架,比如tp5 以下记录一些学习中遇到的问题及解决办法,还有tp3.2和tp5.0的一些区别,适合给用过tp3没用过tp5的童鞋做个参考. 随着学习不断更新...... +++++++++++++++++++++++分割线总是要有的+++++++++++++++++++++++ 首先到tp官网下载了一个最新的Think

随机推荐