【问题标题】:How to create a .htaccess file for php?如何为 php 创建一个 .htaccess 文件?
【发布时间】:2015-03-10 04:19:30
【问题描述】:

我已经创建了网页并在 loclahost 中运行,

我需要从 PHP 文件中删除 .php 扩展名,例如 localhost/root folder-name/wallpaper.phplocalhost/root folder-name/wallpaper

我搜索了谷歌,我找到了一个链接http://alexcican.com/post/how-to-remove-php-html-htm-extensions-with-htaccess/

这里是.htaccess 代码:

RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^([^\.]+)$ $1.php [NC,L]

请问,有没有可能在 localhost 中实现这个?

如果可能的话,如何创建.htaccess 文件?我的意思是,保存.htaccess文件必须使用什么名称?

有人可以帮助我吗?提前致谢。

【问题讨论】:

    标签: php apache .htaccess mod-rewrite


    【解决方案1】:

    您可以在 Microsoft 写字板或记事本中创建文件并将其保存为名称 .htaccess(请注意,旧版本的记事本不允许这样做)。文件名在点之前只有一个扩展名,没有名称。有些程序不允许您保存仅带有扩展名的文件名,Windows 资源管理器也不允许您重命名仅带有扩展名的文件。

    【讨论】:

    • 如果我创建.htaccess,它不允许..它显示,“你必须输入一个文件名”我知道,该怎么办?谢谢
    • 您使用的是 Windows 吗?如果是这样,请使用记事本创建文件。其他一些程序不允许这样做,但记事本会。
    • 是的,我使用的是 Windows,我只使用了记事本,但我没有。
    • 如果您使用命令File, Save 并输入.htaccess 它应该可以工作。我也用写字板测试过。您使用的是哪个版本的 Windows?
    • 旧版本的记事本似乎不允许这样做。试试写字板。
    【解决方案2】:

    让我们来看看这个文件。我们在这里做的第一件事是将所有内容都包含在检查 mod_rewrite.c 是否存在中;如果该 Apache 模块存在,我们可以继续。然后我们打开 RewriteEngine 并通过给它两个规则来准备它工作。这些规则说如果请求的 URI 与现有文件或目录名称不匹配,则执行重写。

    在下一行声明实际的 RewriteRule。这表示任何对 api/v1/ 的不是现有文件或目录的请求都应该发送到 api/v1/index.php。 (.*) 标记了一个命名捕获,它通过使用 $1 分隔符发送到 MyAPI.php 脚本以及请求变量中。在该行的末尾是一些配置如何执行重写的标志。首先,[QSA] 意味着命名的捕获将附加到新创建的 URI。第二个 [NC] 意味着我们的 URI 不区分大小写。最后,[L] 标志表示 mod_rewrite 不应处理任何附加规则,如果此规则匹配。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2011-09-24
      • 2015-07-05
      • 2015-07-05
      • 2015-10-19
      • 1970-01-01
      • 2018-12-14
      • 1970-01-01
      相关资源
      最近更新 更多