htaccess 重定向以删除index.php

2023-12-21

我希望用户能够使用$_SERVER['PATH_INFO']作为要提供服务的文件的占位符并删除地址栏中的index.php

例如我想服务me.com/index.php/settings1 as me.com/settings1对于用户访问的任何 PATH_INFO 等等。

我该如何将其写为 htaccess 规则?我什至不知道从哪里开始

如果有帮助的话,我正在使用 Hostgator 的共享托管计划。

根据@EddyFreddy的建议,我尝试了该问题中提到的两种方法,但没有成功。到目前为止,该文件的外观如下:

suPHP_ConfigPath /home/user/php.ini
    <Files php.ini>
        order allow,deny    
        deny from all   
    </Files>

RewriteEngine On
RewriteBase /   

RewriteCond %{HTTP_HOST} ^www.mysite.com$ [NC]
RewriteRule .? http://mysite.com%{REQUEST_URI} [R=301,L]

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ /index.php/$1 [L] # tried with and without the `?`

这可以通过 mod_rewrite 轻松处理。在 DOCUMENT_ROOT 下的 .htaccess 中使用以下代码:

Options +FollowSymLinks -MultiViews
# Turn mod_rewrite on
RewriteEngine On
RewriteBase /

# external redirect from /index.php/foo to /foo/
RewriteCond %{THE_REQUEST} ^[A-Z]{3,}\s/+index\.php(/[^\s\?]+)? [NC]
RewriteRule ^ %1/ [L,R]

# external redirect to add trailing slash
RewriteCond %{THE_REQUEST} ^[A-Z]{3,}\s/+((?!.+/[\s\?])[^\s\?]+) [NC]
RewriteRule ^ %1/ [L,R]

# internal forward from /foo to /index.php/foo
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-l
RewriteRule ^ index.php%{REQUEST_URI} [L,NC]

确认一切正常后进行更改R to R=301.

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

htaccess 重定向以删除index.php 的相关文章

  • PHP WCF 集成

    是不是如果我想支持php客户端访问我的服务 我必须有一个基本的http端点 这是因为php仍然只支持soap 1 1吗 据我所知 自从我使用 PHP 以来已经两年了 情况仍然如此 如果客户端应用程序将使用 PHP 的内置 SoapClien
  • 将 http 和 https 请求重定向到新主机

    在 Apache 2 4 6 中 我想重定向来自http A org foo and https A org foo to https B org foo 我正在使用以下指令
  • .htaccess 如果 URL 错误,请执行某些操作

    我正在做我的个人CMS http en wikipedia org wiki Content management system 我想在其中使用很酷 友好 的 URL 这是我的 htaccess 文件代码 RewriteEngine on
  • 使用值填充的 Symfony2 自定义字段类型

    这是先前问题的后续问题Symfony2 自定义表单类型或扩展 https stackoverflow com questions 24079288 symfony2 custom form type or extension 我正在尝试为订
  • Facebook PHP-SDK 页面刷新后似乎丢失了 userID

    我似乎登录工作正常 我可以登录 接受应用程序 第一次 然后显示用户信息 例如姓名 图片 等 然而 当我刷新页面时 userid 又回到 0 我必须再次登录 我不确定问题是什么 我必须在每次页面加载时重新启动它还是什么 我不知道 我会发布一些
  • Mac 上的 Apache 虚拟主机的通配符域

    我目前正在运行多个域以进行本地开发 http wordpress dev http phpmyadmin dev http projectx dev http projecty dev 这些项目大多数位于用户的 Sites 目录中 但有些项
  • 为什么我只得到第一个捕获组?

    https stackoverflow com a 2304626 6607497 https stackoverflow com a 2304626 6607497 and https stackoverflow com a 370042
  • 如何在 Windows 上安装 Zend 框架

    安装 Zend Framework 就是这么简单 是的 对 好吧 我正在写一本初学者的书 有一件不太详细的事情是最重要的部分 安装该死的东西 浏览了几个小时的快速入门指南后 它只说 下载 Zend 添加包含目录 bla bla 然后就完成了
  • 如何使用更新资源控制器 laravel 4?

    我有带有索引 编辑 更新方法的客户控制器 Route resource customer CustomerController 控制器方法更新 public function update id echo id 我的 HTML 表单
  • 在 SQLite 中搜索时排除 HTML 标签和一些 UNICODE 字符

    更新 4 我已经成功运行了firstchar例如 但现在的问题是使用regex 即使包含头文件 它也无法识别regex操作员 有什么线索可以解决这个问题吗 更新 2 我已经编译了sqlite3我的项目中的库 我现在正在寻找任何人帮助我为我的
  • PHP 中的 -> 和 :: 有什么区别?

    这个东西困扰我好久了 一直找不到 在 php 中使用 和 gt 之间的类有什么区别 让我举个例子 想象一个名为 MyClass 的类 该类中有一个函数 myFunction 使用有什么区别 MyClass myclass new MyCla
  • 雄辩的第一个 where 子句

    我想知道 Laravel 如何实现雄辩的语法 以便可以静态调用第一个 where 子句User where User where id 23 gt where email email gt first 他们有吗public static f
  • Jquery一键提交多个同名表单

    我有动态创建的循环表单 我需要一键提交所有表单 我正在遵循下面的代码 你能建议我怎么做吗 谢谢
  • session_start():无法解码会话对象

    我有时在使用 CodeIgniter 时遇到以下问题 错误 2019 03 05 19 57 26 gt 严重性 警告 gt session start 无法解码会话对象 会话已被销毁 system libraries Session Se
  • 使用 php/regex 验证美国电话号码

    EDIT 我混合并修改了下面给出的两个答案 以形成完整的功能 现在它可以完成我想要的功能 然后是一些 所以我想我会将其发布在这里 以防其他人来寻找同样的东西 Function to analyze string against many p
  • 使用会话 php 创建 cookie?

    我使用会话来登录我网站中的用户 问题是 我想让用户remember密码 因此关闭 打开浏览器后他们不需要再次登录 我需要使用 cookie 和 session 来实现它吗 my code user POST user pass POST p
  • 正则表达式 - 从 markdown 字符串中提取所有标题

    我在用灰质 https www npmjs com package gray matter 以便将文件系统中的 MD 文件解析为字符串 解析器产生的结果是这样的字符串 n Clean er ReactJS Code Conditional
  • 使用 Vue 的多模式组件

    我在 Vue 中实现动态模式组件时遇到问题 A common approach I follow to display a set of data fetched from the db is I dump each of the rows
  • PayPal 网关已拒绝请求。安全标头无效(#10002:安全错误 Magento

    在 magento 中增加 PayPal 预付款 我已填写 magento admin 中的所有凭据 但是当我进入前端并单击 pay pal 按钮时 它给出了 PayPal 网关已拒绝请求 安全标头无效 10002 安全错误 我用谷歌搜索了
  • PHPUnit - 模拟 S3Client 无法正常工作

    库 aws aws sdk php 2 PHP 版本 PHP 5 4 24 cli 作曲家 json require php gt 5 3 1 aws aws sdk php 2 require dev phpunit phpunit 4

随机推荐

  • QT KernelBase!RaiseException 位于 0x759fc41f

    评论多于问题 下面描述了我今晚遇到的一个问题以及我如何 纠正 它 这些事件需要几个小时的时间才能解决 由于该网站是我最喜欢的信息来源之一 因此认为这篇文章可能对其他人有益 欢迎任何有关诊断 QT Creator 运行时异常的建设性意见 该异
  • 当属性 Visibility 更改时为 StackPanel 制作动画

    在 WPF 3 5 带有 SP1 中 我只是当我更改属性可见性时 我想为 StackPanel 制作动画 我不知道这个 StackPanel 的高度 因为它的内容决定了它的高度 因此 当我将 StackPanel 的属性更改为 Visibl
  • 使用 jQuery .load 函数刷新元素而不重复它

    当用户点击提交按钮时 div forum应该刷新 不刷新页面 然而 由于某种原因 它反而创建了一个新的 div forum在原始 div 中 如下所示 虽然我知道我可以通过在 div 周围添加一个容器来防止这种情况 forum 我想知道是否
  • 使用 NAudio 将流数据保存到 WAV 文件

    我想将传入的流数据保存到硬盘驱动器上的 WAV 文件中 如何更改下面的代码才能将流录制到有效的 WAV 文件中 来自演示here http naudio codeplex com SourceControl changeset view a
  • 收到 icmp 请求,但没有回复 [关闭]

    Closed 这个问题不符合堆栈溢出指南 help closed questions 目前不接受答案 这个问题似乎不是关于主要由程序员使用的特定编程问题 软件算法或软件工具 help on topic 如果您认为该问题与主题相关另一个 St
  • 如何处理ggplot2中的“data of class uneval”错误?

    在尝试将新行覆盖到现有行时ggplot 我收到以下错误 Error ggplot2 doesn t know how to deal with data of class uneval 我的代码的第一部分工作正常 下图是来自美国中西部电力市
  • AVPlayer 播放 iOS 7 后台通知中的音频

    I have audio fetch and remote notification set in UIBackgroundModes我通过以下方式成功接收了我的应用程序在后台 未激活 的远程通知 void application UIAp
  • 在 Step Function 内循环

    我试图在循环中调用步骤函数中的几个步骤 但我无法弄清楚我需要如何执行此操作 这是我现在所拥有的 我需要添加另一个 lambda 函数 GetReviews 然后它将循环调用 CreateReview SendNotification 我该怎
  • 使用 UniformGrid 的列表框 - 项目未居中

    我有一个使用 UniformGrid 作为 ItemsPanelTemplate 的列表框 这是一个照片列表 我希望照片在网格的每个单元格的中心水平居中 但似乎无论我做什么 图像都会与每个单元格的左侧对齐 这是我当前的 XAML
  • Asp.Net、SQL 和时区

    有人问过 但我正在努力掌握如何在网络应用程序中处理时区的概念 我有一个跟踪项目进度的系统 我的 SQL Server 数据库中有一个 ProjectStartDate DATE 还有一些字段和表格 但让我们重点关注其中一个 服务器位于美国某
  • 有没有办法在 MySQL 中修剪多个字符(忽略它们的组合)?

    我想从 MySQL 中的字符串中删除前导空格和尾随空格 SP n t 最终 r 数据已经在 MySQL 表中 我无法检索它们以在 PHP 中处理 因为这应该太慢了 我尝试过这种语法 UPDATE table set field TRIM B
  • 为python请求get函数添加装饰器

    我正在寻找一种方法来添加某种适用于所有实例的装饰器requests get被用在任何函数中 例如 my custom decorator def hello r requests get https my api url The my cu
  • Eclipse 报告 JSP 文件中的语法错误,但应用程序可以运行

    我正在检查一个 JAVA 项目的代码库 我发现 Eclipse 在以下几行显示错误
  • Qt Creator 中的 Valgrind

    使用 Qt Creator 的 Memcheck 函数返回以下内容 valgrind Bad option xml yes but no XML destination specified valgrind xml yes has been
  • 如何在 Silverlight 中获取按钮按下事件之外的鼠标按钮状态?

    我有以下情况 我处理在 Silverlight 应用程序中按下鼠标左键的时间 并在按住鼠标和移动鼠标时执行一些操作 当释放左按钮时 我关闭告诉它执行该操作的标志 然后鼠标移动处理程序不再执行该操作 问题是 如果用户位于控制区域中 按下左键并
  • 来自角度应用程序的 Rest api 调用将错误传递给确实的 api

    下面是我创建的一个角度服务 用于从 Indeed 职位搜索 api 返回搜索结果 function use strict angular module career resources factory JobSearchService ht
  • C# 中最常见的命名约定是什么?

    C 中类 命名空间和方法最常见的命名约定是什么 像 Java 中那样有 getter setter 风格的方法很常见吗 名称指南 http msdn microsoft com en us library ms229002 aspx fro
  • 代号一动画麻烦(也在纸牌演示中)?

    代号一号 动画发生了什么 我使用了很多它们 截至 12 月 我的应用程序不再工作 当我六月离开时 一切都很好 一年多以来都是如此 我的应用程序是一款跳棋 跳棋 游戏 自 2013 年起就在应用程序商店中提供 在观看 CN1 Poker 演示
  • ASP.NET 5 中的 RegisterObject/QueueBackgroundWorkItem 等效项是什么

    在 System Web ASP NET中 可以通过以下方式注册后台工作RegisterObject QueueBackgroundWorkItem为了参与 IIS 的关闭序列 完成 90 秒的宽限期 但我正在努力寻找 ASP NET 5
  • htaccess 重定向以删除index.php

    我希望用户能够使用 SERVER PATH INFO 作为要提供服务的文件的占位符并删除地址栏中的index php 例如我想服务me com index php settings1 as me com settings1对于用户访问的任何