我尝试允许访问两个 php 文件A.php
和B.php
.
<Files "A.php">
Require all granted
</Files>
<Files "B.php">
Require all granted
</Files>
Run Code Online (Sandbox Code Playgroud)
它是这样工作的还是有更好的解决方案?
我有一个网站,如果不输入基本身份验证凭据,任何人都不允许进入。
但是,我需要每个人都可以访问媒体文件夹,因为我们正在使用创建 PDF 的第三方扩展,并且只有在媒体可访问时我们才能完全测试它们。
媒体文件夹位于/var/www/company/pub/media
。
域 ( www.example.com ) 指向/var/www/company/pub
,因此pub文件夹是入口点。
这是我的 .htaccess 尝试 ( /var/www/company/.htaccess
):
RewriteEngine on
RewriteCond %{REQUEST_URI} !^/pub/
RewriteCond %{REQUEST_URI} !^/setup/
RewriteCond %{REQUEST_URI} !^/update/
RewriteCond %{REQUEST_URI} !^/dev/
RewriteRule .* /pub/$0 [L]
DirectoryIndex index.php
AuthType Basic
AuthName "Protected"
AuthUserFile "/var/www/company/.htpasswd"
# Exclude media folder from basic auth
SetEnvIf Request_URI "^/media/*" media
Order allow,deny
Require valid-user
Allow from env=media
Deny from env=!media
Satisfy any
Run Code Online (Sandbox Code Playgroud)
但如果我尝试调用http://www.example.com/media/someimage.jpg那么我仍然会收到基本的身份验证登录提示。
环境:
阿帕奇 2.4.41 (Ubuntu)
我用 卸载了 php7 并apt-get purge php
用 重新安装了它zypper in php7 php7-mysql
。
然后我按照xdebug 的安装说明并用 重新启动 apache systemctl restart apache2
,但是我的 中没有 xdebug phpinfo()
,只有 HTTP_HEADER 中出现一些情况,例如 (XDEBUG_SESSION=netbeans-xdebug;)
这是我在 php.ini 中的配置:
[xdebug]
zend_extension = /usr/lib64/php7/extensions/xdebug.so
xdebug.remote_autostart=on
xdebug.remote_enable=on
xdebug.remote_handler="dbgp"
xdebug.remote_host="192.168.40.161"
xdebug.remote_port=9000
xdebug.remote_mode=req
xdebug.idekey="netbeans-xdebug"
xdebug.renite_enable = 1
xdebug.max_nesting_level = 1000
xdebug.profiler_enable_trigger = 1
xdebug.profiler_output_dir = '/var/log/xdebug'
Run Code Online (Sandbox Code Playgroud)
该文件/usr/lib64/php7/extensions/xdebug.so
确实存在,我刚刚从源安装了 xdebug 并将 xdebug.so 从 复制modules/xdebug.so
到/usr/lib64/php7/extensions/
我什至重新启动了整个服务器。
我怎样才能解决这个问题?
更新:
我检查了 apache2 错误日志/var/log/apache2/error_log
,发现在重新启动 apache2 服务后立即记录了这一点:
[Tue Jul …
Run Code Online (Sandbox Code Playgroud)