当前位置: 首页 > 面试题库 >

在没有htaccess的PHP中重写URL

卜泓
2023-03-14
问题内容

网站正在无法访问.htaccess文件的网络主机上运行。但是,我想对用户友好的URL进行URL重写。

例如原始URL

www.example.com/file?q=name

预期网址

www.example.com/file/name

问题答案:

正如其他人所说,只需使用即可/index.php/nice/looking/url
网址中间的“ index.php”可能看起来有些奇怪,但是我认为没有.htaccess可能无法使其看起来更好

否则,您可以要求托管服务商将任何URL重定向到/index.php,以便无需使用URL就可以处理URL重写/index.php

然后,您可以使用正则表达式匹配来检测要包含的文件。
preg_match('@[/]{1}([a-zA-Z0-9]+)@', $_SERVER["PATH_INFO"], $matches) ($
matches将包含URL中数组的所有“部分”)

包括文件时要小心,请使用 白名单, 以确保没有人能够加载内部文件。



 类似资料:
  • 嗯,我的.htaccess有问题,我想重写这个: http://domain.com/a/thread-103518.html#103518 对这个 http://domain.com/a/103518 换句话说。。。我想删除“thread-”和“.”后面的所有内容,/a/必须是变量。。。还有其他带有/bla/和/code的论坛/ 你有什么线索给我吗?非常感谢。 我的.htaccess现在: 重写

  • 我需要一个解决方案。需要重写两个URL: 到 我尝试了许多不同的解决方案,但没有一个奏效。然而,我确实重写了这些网址,就像我说的,但是我的页面没有打开,所以我想它都在细节中。 对于提示: > onama.php和pravila.php文件位于/pages/目录中 编辑: 我想我很幸运:)用这个再试了一次,它成功了,我不擅长.htaccess规则,但这是我问题的解决方案: 编辑(新问题) 我试图制定

  • 我用CodeIgniter和几个控制器构建了一个应用程序 除了在应用/配置/routes.php文件中设置为默认的控制器之外,所有控制器似乎都工作正常 我的. htaccess文件看起来像这样: 重写引擎在 RewriteBase/ RewriteCond%{REQUEST_FILENAME}上-重写cond%{REQUEST_FILENAME}-d 重写规则^(.*)$/索引。php/$1[L]

  • 这是我的情况:我有一个目录,我需要重写URL,所以可以通过或访问。然后我有一个子目录,它需要扩展名被可选地删除,所以可以在和访问。 我独立开发了网站的两个部分,现在我很难让htaccess满足这两个要求。 我当前的文件是: 这些规则完全独立运作(如果我删除另一条,但一起删除)。但是重写规则失败了。 我已经尝试使用适当的规则(root dir的nice URL规则和subdir的remove.php

  • 问题内容: 我有一个index.php,它处理所有路由index.php?page = controller(简体)只是为了与视图分离逻辑。 我无法与Rewriterule一起使用。 控制器可能如下所示: 并且: 问题答案: 基本上人们想说的是,您可以像这样编写重写规则: 这将使您的实际php文件如下所示: 您的实际网址如下所示: 在您的PHP文件中,您可以通过如下分解方式来访问参数:

  • 我已经安装了WordPress在example.com.我还安装了CodeIgniter在文件夹这里,是文件夹名称,是控制器名称和CI的工作URL是。我的基本URL以https://开头。 现在我有一个WordPressURL,是我在WordPress admin中创建的页面,工作正常。 我想像一样运行我的CI路径,我想我们可以用一些重写规则来做,这样我的网址看起来就像。我已经添加了给定的为wor