无法使 RewriteMap 工作

无法使 RewriteMap 工作

我尝试RewriteMap在我的虚拟主机中使用,但没有任何效果。

这是我的虚拟主机文件的内容,其中有一个以 开头的条目(行)RewriteMap。从我读到的内容来看,该文件/etc/fixit.php应该被执行。但我测试了放一行简单的内容file_put_contents('/etc/test.txt','abcd', FILE_APPEND);,并没有创建 test.txt 文件。

    <VirtualHost *:80>
    SuexecUserGroup "#1004" "#1004"
    ServerName test2.domain.com
    ServerAlias www.test2.domain.com
    DocumentRoot /home/test2/public_html
    ErrorLog /var/log/virtualmin/test2.domain.com_error_log
    ErrorDocument 403 "This is the default page for new website."
    CustomLog /var/log/virtualmin/test2.domain.com_access_log combined
    ScriptAlias /cgi-bin/ /home/test2/cgi-bin/
    ScriptAlias /awstats/ /home/test2/cgi-bin/
    DirectoryIndex index.html index.htm index.php index.php4 index.php5
    RewriteMap fixurl prg:/etc/fixit.php
    <Directory /home/test2/public_html>
    Options -Indexes +IncludesNOEXEC +SymLinksIfOwnerMatch +ExecCGI
    allow from all
    AllowOverride All Options=ExecCGI,Includes,IncludesNOEXEC,Indexes,MultiViews,SymLinksIfOwnerMatch
    Require all granted
    AddType application/x-httpd-php .php
    AddHandler fcgid-script .php
    AddHandler fcgid-script .php7.0
    FCGIWrapper /home/test2/fcgi-bin/php7.0.fcgi .php
    FCGIWrapper /home/test2/fcgi-bin/php7.0.fcgi .php7.0
    </Directory>
    <Directory /home/test2/cgi-bin>
    allow from all
    AllowOverride All Options=ExecCGI,Includes,IncludesNOEXEC,Indexes,MultiViews,SymLinksIfOwnerMatch
    Require all granted
    </Directory>
    RemoveHandler .php
    RemoveHandler .php7.0
    php_admin_value engine Off
    FcgidMaxRequestLen 1073741824
    <Files awstats.pl>
    AuthName "test2.domain.com statistics"
    AuthType Basic
    AuthUserFile /home/test2/.awstats-htpasswd
    require valid-user
    </Files>
    php_value memory_limit 32M
    IPCCommTimeout 41
    </VirtualHost>

/etc/fixit.php这是我的测试文件的内容

<?php
file_put_contents('/etc/test.txt','abcd', FILE_APPEND);
?>

我知道这不是一个完整的 RewriteMap 示例,因为我还没有向文件添加重写规则。但至少文件fixit.php应该被执行,对吗?

谢谢你的帮助。

答案1

尝试让您的 fixit.php 写入 /tmp/test.txt;除非您的 UID 1004 具有对 /etc 的写权限(可能有,但可能没有),否则 fixit.php 可能正在运行,但无法创建该文件。

相关内容