我有单独的域指向专用框上的单独文档根
我想授予对此文档根目录下的子文件夹 ftp-upload 的 FTP 访问权限。
正确的 FTP 配置不是这个问题的一部分
如果授权人将文件上传到 document_root/ftp-upload,则该文件应该可以通过 domain.com/file 而不是 domain.com/ftp-upload/file 访问
.htaccess 文件位于文档根目录中
我已经尝试了一些东西,但它们似乎不起作用。
<IfModule mod_rewrite.c>
RewriteEngine on
RewriteBase /
## check if the file exists in subfolder
## ...and if found, stop and display it
RewriteCond %{DOCUMENT_ROOT}/ftp-upload/$1 -f [OR]
RewriteCond %{DOCUMENT_ROOT}/ftp-upload/$1 -d
RewriteCond $1 !^$
RewriteRule (.*) %{DOCUMENT_ROOT}/ftp-upload/$1 [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond $1 !^(index\.php|images|robots\.txt|css|assets|ftp-upload)
RewriteRule ^(.*)$ index.php/$1 [L]
</IfModule>
我也试过
RewriteCond %{DOCUMENT_ROOT}/ftp-upload/${REQUEST_FILENAME} -f
和
RewriteCond %{DOCUMENT_ROOT}/ftp-upload%{REQUEST_URI} -f
这是一项正在进行中的工作,因此这不会是最终解决方案,但是很多人都要求此功能。如果可能的话,我宁愿不让他们访问文档根目录。
更新:看起来事情确实有效,当它想要......
如果我输入 domain.com/test.txt (仅存在于 ftp-upload 目录中),请求将转到 domain.com/index.php/test.txt 并为我提供主页
如果我输入 domain.com/ftp-upload/ 我会得到一个目录列表,包括 test.txt
如果我点击 test.txt 我会得到文件内容(这是“它有效!”)。如果我然后输入 domain.com/test.txt 我会再次显示文件内容...
我的头爆炸了……有什么想法吗?
解决了另一种方法,这里的答案在我的服务器上不起作用。
我现在构建的 CMS 有另一个用户组“SEO 优化”和一个上传部分。在该部分下,用户可以选择要将文件上传到他分配的哪个位置。如果上传文件夹中存在所请求的文件,则网站 index.php(控制器/路由器)将提供该文件。没有 .htaccess 编辑,因为我的服务器表现得很时髦..