gpt4 book ai didi

php - Yii2/PHP/IIS7 - URL 重写和文件权限(漂亮的 URL 问题)

转载 作者:可可西里 更新时间:2023-10-31 22:52:05 25 4
gpt4 key购买 nike

我有一个包含以下文本的 web.config 文件,尽管与我的问题无关...

<?xml version="1.0" encoding="UTF-8"?>
<configuration>
<system.webServer>
<rewrite>
<rules>
<rule name="Pretty URL">
<match url="." ignoreCase="false" />
<conditions logicalGrouping="MatchAll">
<add input="{REQUEST_FILENAME}" matchType="IsFile" ignoreCase="false" negate="true" />
<add input="{REQUEST_FILENAME}" matchType="IsDirectory" ignoreCase="false" negate="true" />
</conditions>
<action type="Rewrite" url="index.php" />
</rule>
</rules>
</rewrite>
</system.webServer>
</configuration>

通常,当我在 Windows 机器上开发时,包含我的 PHP 源代码的文件夹拥有所有经过身份验证的用户的权限,并且我的 Yii2 网站中的漂亮 URL 可以正常工作。

现在,我的下一个项目要求我在非管理员用户也将使用的 Windows 机器上部署,我测试了将 Yii2 网站部署到一个文件夹,使 IUSR 用户能够列出、读取和执行文件。

该网站有效,但漂亮的 url 无效。

如果我将文件夹内容复制到另一个具有常规身份验证用户和 SYSTEM 权限的位置,它会按预期工作。

我想我缺少一些权限,这些权限将使漂亮的 URL 能够与 IIS7 URL 重写模块一起正常工作,但不确定是什么。

最佳答案

在 Linux 中,服务器以特殊用户身份运行是很常见的。
我什至在 Windows 中也应用这个习惯,然后很容易为服务器配置访问权限。用户帐户应该无关紧要然后与服务器相关。
网络目录中所有文件的所有权必须是网络服务器的用户,即“IUSR”。
运行服务器的用户必须在 IIS 配置中进行调整如果它不同于默认 IIS 用户“IUSR”

仅对于与编辑相关的文件访问,可能需要对所有文件进行一些调整,但如果服务器以用户身份运行,则更清楚的是,用于编辑的文件访问和用于服务器访问的文件访问是两个不同的目的。因此,您甚至可以为用户调整对有限文件的编辑访问权限,而服务器对所有文件具有完全访问权限。为不同的用户或用户组提供不同的访问权限也没有问题。

有关默认 IIS 用户的更多详细信息,您可以阅读 Understanding Built-In User and Group Accounts in IIS 7

关于php - Yii2/PHP/IIS7 - URL 重写和文件权限(漂亮的 URL 问题),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51740691/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com