windows - PHP 5.6 和 Plesk 中的 .htaccess

标签 windows apache .htaccess server plesk

我试图阻止直接访问子目录和特定文件。我的文件如下所示:

httpdocs 中的

.htaccess:

RewriteEngine on 
Options All -Indexes 
RewriteRule ^(config\.php) - [F,L,NC]

vhost.conf 在 vhosts/domain.test/conf 中:

<Directory "D:\inetpub\vhosts\domain.test\httpdocs">
AllowOverride All
</Directory>

在我的本地计算机上使用 XAMPP(标准设置)一切正常。对 config.php 的访问被拒绝。服务器只是忽略 .htaccess 文件。我正在 Windows Server 2016 VM 上使用 Plesk 17.8.11 (Onyx)。

我重新启动了 IIS,但仍然可以通过 URL 打开 config.php(即使它会导致空白屏幕)。我还尝试添加:

LoadModule rewrite_module modules/mod_rewrite.so

我在 Plesk PHP 设置中的“附加指令”,但它也没有执行此操作。

有人有想法吗?

最佳答案

与 Windows 中的 .htaccess 等效的是 web.config 文件,因此可以在带有 IIS 的 Windows 服务器上使用 .htaccess 规则,但必须通过上述文件来完成。

web.config 文件的语法与 .htaccess 文件不同,因此需要进行翻译。

以下链接将有助于理解 .htaccess 文件并将其转换为 web.config https://learn.microsoft.com/en-us/iis/application-frameworks/install-and-configure-php-applications-on-iis/translate-htaccess-content-to-iis-webconfig

关于windows - PHP 5.6 和 Plesk 中的 .htaccess,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53769500/

相关文章:

windows - 如何阻止在 Windows 应用商店应用程序中将文本粘贴到文本框中?

windows - BAT 文件 – 使用括号作为分隔符

php - 如何使用 Curl 从 URL 访问文件

apache - 如果不是文件/文件夹,htaccess 将 uri 重写为 get

php - 使用 htaccess 将查询重写为路径

java - 在 Windows 中设置默认堆大小

windows - 用自定义驱动程序替换 Windows USB 类驱动程序?

PHP 所有 GET 参数与 mod_rewrite

apache - 没有 index.html 的 Tomcat 显示目录中的文件

php - Drupal 模块安装错误 - 文件传输失败,原因 :/mysite. com/sites/all/modules 位于/mysite.com 之外