PHP 5.6 和 Plesk 中的 .htaccess
.htaccess in PHP 5.6 and Plesk
我试图阻止直接访问子目录和特定文件。我的文件如下所示:
.htaccess 在 httpdocs:
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 文件,因此可以在 Windows 服务器上使用 IIS 上的 .htaccess 规则,但必须这样做通过上述文件。
web.config 文件的语法与 .htaccess 文件不同,因此需要进行翻译。
以下链接将有助于理解 .htaccess 文件并将其转换为 web.config https://docs.microsoft.com/en-us/iis/application-frameworks/install-and-configure-php-applications-on-iis/translate-htaccess-content-to-iis-webconfig
我试图阻止直接访问子目录和特定文件。我的文件如下所示:
.htaccess 在 httpdocs:
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 文件,因此可以在 Windows 服务器上使用 IIS 上的 .htaccess 规则,但必须这样做通过上述文件。
web.config 文件的语法与 .htaccess 文件不同,因此需要进行翻译。
以下链接将有助于理解 .htaccess 文件并将其转换为 web.config https://docs.microsoft.com/en-us/iis/application-frameworks/install-and-configure-php-applications-on-iis/translate-htaccess-content-to-iis-webconfig