正在从.htaccess重写img源URL


Rewriting img source URL from .htaccess

我有一个小问题。我的img来源错误。

来源:

<img src="http://mywebsite.com/mk/thumbnail.php?file=file-dtik.jpg&amp;size=article_medium" align="left" alt="image">

并且源需要更改为

<img src="http://mywebsite.com/thumbnail.php?file=file-dtik.jpg&amp;size=article_medium" align="left" alt="image">

没有MK文件夹后的网站。我需要通过更改。htaccess?重写规则是什么?

编辑:还有另一个问题。有一些.pdf链接没有正确链接,我也需要它们与.htaccess.重新链接

http://207.58.130.89/~tempuser/mk/files.php?force&file=documents/documents/file.pdf

这是当前链接,当有人点击时我需要重定向:

www.mydomain.com/mk/files.php?force&file=documents/documents/file.pdf

谢谢。

通常,您应该始终倾向于在服务器配置中编写此类重写规则,而不是使用.htaccess样式的文件。原因是这样的文件很容易出错,很难调试,而且确实会降低服务器的速度。

服务器配置的规则示例:

RewriteEngine on
RewriteRule ^/mk/thumbnail'.php$ /thumbnail.php [L,QSA]

这个规则只有两个例外:

  • 您没有访问服务器配置的权限
  • 代码需要对重写规则集进行动态更改

.htaccess样式文件的规则示例:

(注意,您首先必须在服务器配置中启用此类文件的使用)

RewriteEngine on
RewriteRule ^mk/thumbnail'.php$ thumbnail.php [L,QSA]

要使此规则起作用,.htaccess样式的文件必须位于顶级文档根目录中,mk文件夹存在于该目录中,无论是物理文件夹还是虚拟文件夹。


免责声明:我没有测试运行这个,很抱歉,如果有一些打字错误。。。

一般来说,您应该始终查阅有关这些内容的优秀文档!


如果您在使这样的重写规则工作时遇到问题,有三个基本的地方可以开始调试:

  1. 如果您可以访问服务器日志文件,那么这就是您应该开始的地方:首先,当重写的请求没有指向预期的位置或失败时,您应该看到错误条目

  2. 如果您可以控制服务器配置,那么更优雅的是使用内置的重写日志记录。它允许对重写引擎内部正在发生(或没有发生)的事情进行真正详细的了解。有关详细信息,请参阅我在上面发布的文档墨迹。

  3. 您可以指定一个临时的和附加的"外部重定向标志",它允许您在浏览器url栏中查看请求写入的url。为此,只需将标志[L,QSA] b替换为[L,QSA,R=301],这将导致服务器在http级别上发送外部重定向标头,而不是执行静默和内部重写。这通常有助于了解发生了什么