[英]Yii2/PHP/IIS7 - URL Rewrite and File Permissions (Pretty URL issue)
我有一個帶有以下文本的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用戶能夠列出,讀取和執行文件。
該網站有效,但漂亮的網址沒有。
如果我使用常規經過身份驗證的用戶和SYSTEM權限將文件夾內容復制到另一個位置,它將按預期工作。
我想我缺少一些權限,可以使漂亮的URL與IIS7 URL重寫模塊一起正常工作,但不確定是什么。
在Linux中,服務器作為特殊用戶運行是很常見的。
即使在Windows中我也習慣這種習慣,然后很容易為服務器配置訪問權限。 用戶帳戶無關緊要,然后與服務器相關。
然后,web目錄中所有文件的所有權必須是web服務器的用戶,即“IUSR”。
運行服務器的用戶必須在IIS配置中進行調整, 如果它與默認IIS用戶“IUSR”不同 。
僅對於與編輯相關的文件訪問,可能需要對所有文件進行一些調整,但如果服務器作為用戶運行,則更清楚的是用於編輯和服務器訪問的文件訪問是兩個不同的目的。 因此,您甚至可以調整對用戶的有限文件的編輯訪問權限,同時服務器可以完全訪問所有文件。 為不同的用戶或用戶組提供不同的訪問權限也沒有問題。
有關默認IIS用戶的更多詳細信息,請閱讀了解IIS 7中的內置用戶和組帳戶
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.