【发布时间】:2013-03-24 05:52:21
【问题描述】:
timthumb.php 是一个调整大小/裁剪 php 脚本,在数千个网站中使用,我在我的 wordpress 博客中使用它,但我遇到了一个问题。
出于安全原因,我使用了一个插件来更改 wordpress 默认路径,例如:
示例
之前
mysite.com/wp-content/uploads/2013/03/example.jpg
之后
mysite.com/images/example.jpg
timthumb 根本无法识别新路径,似乎检索到 404 错误,找不到图像
我的问题:
如果您尝试直接访问 example.jpg,它可以正常工作,但使用 timthumb 则不能
mysite.com/images/example.jpg
您可以看到该图像,即使该文件实际上位于
mysite 中。 com/wp-content/uploads/2013/03/example.jpg
但timthumb无法识别并输出上述错误
当前.htaccess
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteRule ^images/(.*) /wp-content/uploads/$1 [QSA,L]
RewriteRule ^lib/(.*) /wp-content/themes/mytheme/$1 [QSA,L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
RewriteRule ^/wp-content/themes/mytheme/$ lib/ [R,L]
RewriteRule ^/wp-content/uploads/$ images/ [R,L]
RewriteRule ^lib/$ /wp-content/themes/mytheme/ [L,NC]
RewriteRule ^images/$ /wp-content/uploads/ [L,NC]
</IfModule>
【问题讨论】:
-
如果您查看脚本(它在客户端执行)。您在不适合文件物理位置的路径上下文中调用它。 .htaccess 在这种情况下不会帮助你。这是因为它是在服务器端执行的,而不是客户端。
标签: wordpress .htaccess url-rewriting friendly-url timthumb