【问题标题】:Configure PhpStorm to use .htaccess配置 PhpStorm 以使用 .htaccess
【发布时间】:2015-09-19 18:40:07
【问题描述】:

我在项目的根目录中添加了.htaccess(用于重写 URL),但它不起作用。我检查了两次,同一个文件在 Eclipse 中运行良好。

如何配置 PhpStorm 以使用 .htaccess?

【问题讨论】:

  • 什么意思?你希望 PHPStorm 对该文件做什么?
  • 假设根目录中有一个名为tmp.php 的文件,然后我在.htaccess RewriteRule ^tmp/?$ tmp.php 中编写一个重写规则。当我输入 http://localhost/mysite/tmp 它没有重定向到 http://localhost/mysite/tmp.php 它抛出 404
  • 当您在浏览器中键入时,在哪里?我不确定 IDE 是如何参与其中的?
  • Apache 必须处理 .htaccess,而不是 PHP。将 AllowOverride All 添加到您的虚拟主机。
  • sigh 在哪里你在输入网址吗?在哪个节目?这可能与 IDE 无关

标签: .htaccess phpstorm


【解决方案1】:
  1. 确实,PHP's built-in web server will never fully support .htaccess features注意:它是 PHP 的,不是 PHPStorm 的内置服务器

但有办法解决。

  1. 大多数时候,只需要重写以将所有非静态文件查询重定向到index.php。如果你只需要这个,PHPStorm 中的you can set the server's "router script" 运行配置到index.php

  2. 之后,在index.php 中进行适度的破解以从驱动器提供静态文件可能会加快速度。

添加到index.php的最开头:

if (preg_match('/\.(?:php|png|jpg|jpeg|gif|ico|css|js)\??.*$/',
    $_SERVER["REQUEST_URI"])) 
{
    return false; // serve the requested resource as-is.
}

【讨论】:

    【解决方案2】:

    在使用 PhpStorm 和 Eclipse 时,您是否使用相同的服务器/配置?

    正如 cmets 中所解释的,它与 IDE 无关,而与 Web 服务器 (Apache) 及其配置有关。

    您可以使用任何编辑器编辑.htaccess,如果此虚拟主机/目录配置有AllowOverride All,启用了ModRewrite并且您的重写规则正确,它将正常工作。

    您需要确保您的 PHP 文件是从正确配置的 Web 服务器提供的。

    【讨论】:

    • 我正在使用 PHP 内置网络服务器,我正在尝试使用 htaccess 更改我的默认索引文件,但它不起作用
    • @Shqear 内置网络服务器不支持.htaccess
    • @CrazeCoder 是的,我只是想通了,所以我设法使用 PHP 路由器脚本代替 Victor 的帖子中描述的
    猜你喜欢
    • 1970-01-01
    • 2015-09-27
    • 1970-01-01
    • 2016-08-08
    • 1970-01-01
    • 1970-01-01
    • 2014-08-10
    • 1970-01-01
    • 2012-06-27
    相关资源
    最近更新 更多