laravel 去掉index.php

本文介绍了如何通过配置Apache服务器支持URL重写功能,并详细解释了配置步骤与具体规则,适用于希望实现优雅URL的Web应用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

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中没有此项,直接手写加入即可


转载于:https://my.oschina.net/lnmpstudy/blog/223520

<think>好的,我现在需要帮助用户在Laravel-admin中去掉左侧菜单栏链接中的_pjax参数。首先,我得回忆一下Laravel-admin的结构和Pjax的相关知识。 用户提到他们使用Pjax时遇到了菜单不实时更新的问题,现在希望去掉链接中的_pjax参数。通常,Laravel-admin的菜单项生成时会自动添加这个参数,以便通过Pjax加载内容,而无需刷新整个页面。但是,如果用户希望禁用这个功能,可能需要修改生成菜单链接的方式。 首先,我需要找到Laravel-admin中负责生成菜单链接的代码部分。Laravel-admin的菜单通常是通过配置文件或者模型中的方法来定义的,例如在Menu模型里使用`uri`属性设置链接。默认情况下,这些链接可能会被框架自动处理,添加_pjax参数。 接下来,可能的解决方案是覆盖默认的菜单渲染逻辑。Laravel-admin允许用户自定义视图文件,通过发布资源文件到项目中进行修改。用户可能需要找到生成菜单项的Blade模板,通常是`vendor/laravel-admin/resources/views/partials/menu.blade.php`,然后修改其中的链接生成部分,去除`_pjax`参数。 另外,检查是否有配置项可以禁用Pjax。虽然Laravel-admin默认启用Pjax,但可能在某个配置文件中可以关闭它。例如,在`config/admin.php`中寻找与Pjax相关的设置,如果有的话,设为false。 还有一种方法是拦截菜单项的点击事件,通过JavaScript阻止Pjax加载,强制使用普通链接跳转。这需要在前端代码中找到处理菜单点击的地方,并修改事件处理函数,移除或阻止_pjax的提交。 同时,需要注意在去除_pjax参数后,页面跳转会变成整页刷新,可能会影响用户体验,但能解决菜单状态不更新的问题。需要确保用户了解这一变化的影响。 此外,查阅Laravel-admin的官方文档和社区讨论可能会有帮助。例如,可能有扩展包或已有的解决方案可以实现这个需求。如果官方没有提供直接的方法,可能需要通过自定义中间件或重写服务提供者来调整链接生成逻辑。 最后,测试修改后的效果,确认点击菜单链接时不再携带_pjax参数,并且页面能正确加载,左侧菜单状态正确更新。如果出现问题,可能需要进一步调整代码或寻找其他潜在的影响因素。</think>在Laravel-admin中移除左侧菜单栏的`_pjax`参数,可以通过覆盖菜单模板实现,具体步骤如下: 1. **发布菜单模板文件** ```bash php artisan admin:publish --tag=laravel-admin-views ``` 2. **修改菜单模板** 打开`resources/views/admin/partials/menu.blade.php`,找到链接生成部分,删除`_pjax`参数: ```php // 原始代码片段 <a href="{{ admin_url($item['uri']) }}?_pjax=%23pjax-container"...> // 修改为 <a href="{{ admin_url($item['uri']) }}"...> ``` 3. **强制禁用Pjax加载**(可选) 在`app/Admin/bootstrap.php`中添加: ```php Admin::Pjax(function ($pjax) { $pjax->disable(); }); ``` **注意事项**: - 禁用Pjax后所有页面跳转都会变成整页刷新 - 菜单高亮状态可能需要额外处理 - 会失去Pjax带来的局部加载性能优势
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值