【问题标题】:Apache 2.4.34 PHP FPM rewrite problemsApache 2.4.34 PHP FPM 重写问题
【发布时间】:2020-05-18 14:04:57
【问题描述】:

Apache Congig

<Directory  /var/www/vhosts/avoclub/htdocs/avobb>
    Options -Indexes +FollowSymLinks -ExecCGI +MultiViews

    AllowOverride All

    <IfModule mod_proxy_fcgi.c>
        RewriteEngine On
        RewriteBase /
        RewriteOptions InheritBefore
        RewriteCond %{REQUEST_FILENAME} -f
        #RewriteRule ^([^\.]+\.php)$ fcgi://127.0.0.1:9056/$1
        RewriteRule ^([^\.]+\.php)$ fcgi://127.0.0.1:9056/var/www/vhosts/avoclub/htdocs/avobb/$1 [L,P]
    </IfModule>

    Order allow,deny
    allow from all

    <IfVersion >= 2.4>
        Require all granted
    </IfVersion>
</Directory>

我正在尝试做的事情,我有一个图像脚本,可以给图像打上水印并显示

.htaccess 文件

Options -Indexes
Options +FollowSymLinks
ReWriteEngine On
RewriteRule ([a-zA-Z0-9_]*\.(jpg|png)) ./image.php?filename=$1
<Files "logfile.log">
     Order allow,deny
     Deny from all
</Files>

它应该 :) 请求一个图像文件 .htacces 将其重写为 image.php,水印图像和显示。

但是当你这样做时

https://bbs.avoclub.com/documents/how_too/RS2_Clutch_7.jpg

你得到文件未找到。

帮助

【问题讨论】:

  • 不应该是RewriteRule ([a-zA-Z0-9_]*\.(jpg|png))$ /image.php?filename=$1?检查您的文件的确切位置以及对它的引用。
  • 这能回答你的问题吗? .htaccess rewrite image file to php script
  • 将尝试 mate theimage.php 与图像在同一目录中
  • 没有,甚至没有找到 image.php 的完整路径和找不到相同的文件
  • 如果链接错误,您会得到未找到 (404) 当它是正确的链接时,您会收到消息文件未找到

标签: php


【解决方案1】:

移动了

    <IfModule mod_proxy_fcgi.c>
        RewriteEngine On
        RewriteBase /
        RewriteOptions InheritBefore
        RewriteCond %{REQUEST_FILENAME} -f
        #RewriteRule ^([^\.]+\.php)$ fcgi://127.0.0.1:9056/$1
        RewriteRule ^([^\.]+\.php)$ fcgi://127.0.0.1:9056/var/www/vhosts/avoclub/htdocs/avobb/$1 [L,P]
    </IfModule>

&lt;Directory&gt; 块之外!排序

蓝色

【讨论】: