.htaccess RewriteRule是否为绝对路径?

d4so4syb  于 2023-04-21  发布在  其他
关注(0)|答案(1)|浏览(176)

我尝试将RewriteRule重定向到服务器上当前目录之外的绝对路径。这在PHP中正确实现时有效(即没有特权问题),但在.htaccess中则不行:

RewriteEngine On
RewriteRule ^files/(.*)$ /var/www/files/html/$2

这是一个例子。假设这个.htaccess文件位于/var/www/downloads/html并重定向到另一个位置。就像我说的,这是一个例子,在这种情况下没有意义。
这可能不起作用,因为它重定向到/var/www/files/html/var/www/downloads/html,我想。

**问题:**如何让RewriteRule指向当前目录以外的目录?

更新:此站点的VirtualHost是:

<VirtualHost *:80>
    ServerName subdomain.domain.com
    DocumentRoot /var/www/files/html
</VirtualHost>
lmvvr0a8

lmvvr0a81#

您可以将DocumentRoot更改为/var/www,并将.htaccess放在那里。

RewriteRule ^files/(.*)$ /downloads/html/$1

但是,/var/www以下的所有内容都可以公开访问。如果这不是一个选项(例如安全问题),您必须坚持使用PHP解决方案。

相关问题