【问题标题】:Be able to write dynamic text to image src with mod_rewrite能够使用 mod_rewrite 将动态文本写入图像 src
【发布时间】:2014-09-18 00:41:13
【问题描述】:

我之前发布了一个问题,我想即时更改图像名称,但现在经过深思熟虑,我希望能够在图像名称中添加一些文本,保留原始图像名称。

我已经搜索了谷歌和这里,并尝试了我找到的东西,但不幸的是我还没有成功,所以我希望有人可以指导/帮助我。

通过 .htaccess 中的 mod_rewrite 我想制定一个规则,可以在图像名称之前插入动态文本,从而使图像名称对 SEO 更加“友好”——据我发现,我需要文本和图像名称由标识符分隔,例如“---”。

示例: 原始路径和图像名称: <img src="/images/testimage.jpg" />

带有由标识符分隔的动态文本的图像: <img src="/images/this-is-dynamic-text---testimage.jpg" />

我的 URL 结构中有 mod_rewrite,因此 URL 看起来更好 - 考虑到这一点,图像的 mod_rewrite 应该在所有“文件夹”中工作。 我的 .htaccess 看起来像这样:

RewriteEngine on
RewriteRule ^([a-zA-Z0-9_-]+)/([a-zA-Z0-9_-]+)\.php$ index.php?country=$1
RewriteRule ^([a-zA-Z0-9_-]+)/([A-Яа-я-]+)/([a-zA-Z0-9_-]+)\.php$ index.php?country=$1&id=$3
RewriteRule ^([a-zA-Z0-9_-]+)/(.*)/(.*)/([a-zA-Z0-9_-]+)/([a-zA-Z0-9_-]+)\.php$ index.php?country=$1&subid=$5&id=$4

我尝试过但失败的图像名称 mod_rewrite 如下所示: RewriteRule ^(/.+?)---.+$ /$1.jpg [L,NC]

完成后,我当然希望它适用于所有图像(jpg、gif、png)。

我真的希望有人可以指导我。

【问题讨论】:

    标签: php apache .htaccess mod-rewrite


    【解决方案1】:

    您可以将此规则用于图像:

    RewriteEngine On
    RewriteBase /kuhlmann/
    
    RewriteRule ^.+?---(.+)$ $1 [L,NE]
    

    .htaccess 中使用规则时,前导斜杠不匹配。

    【讨论】:

    • 感谢您的回答。不幸的是,当我将它粘贴到我的 .htaccess 文件中时,该规则对我不起作用。我已将其粘贴,并通过从以下位置编辑 img src 进行尝试:<img src="<?=$linkpath?>images/forside-pic.jpg" width="700" /> 到此<img src="<?=$linkpath?>images/this-is-dynamic-text---forside-pic.jpg" width="700" /> 尝试创建损坏的图像链接时。我错过了什么吗?
    • 我不确定我的评论是否会自动通知您@anubhava,所以为了安全起见,我写了这篇评论。非常感谢您的帮助。
    • 我已经尝试了更新的规则,但不幸的是它仍然无法正常工作@anubhava - 我在这里有一个链接 []mazey.dk/kuhlmann/index_good.html 我有一个带有动态文本的图像和一个没有动态文本的图像,但它是只有一个没有它的作品:<img src="dynamic-text---elheat.jpg" alt="image with dynamic text" /> <img src="elheat.jpg" alt="image without dynamic text" /> 仅供参考,我已将 .htaccess 文件放在文件夹“kuhlmann”中 - 这样做是因为这使我更容易在“真实”的根目录中激活之前进行隔离开发" 域。
    • 啊,你之前没有告诉我kuhlmann 文件夹的事。查看/kuhlmann/.htaccess的更新规则
    • 抱歉@anubhava - 当我设计时,我总是将所有内容放在我自己域的文件夹中,当我完成后,我将它们全部放在相应的域中。这个 RewriteBase 将如何影响我拥有的其他规则? RewriteEngine on RewriteRule ^([a-zA-Z0-9_-]+)/([a-zA-Z0-9_-]+)\.php$ index.php?country=$1 RewriteRule ^([a-zA-Z0-9_-]+)/([A-Яа-я-]+)/([a-zA-Z0-9_-]+)\.php$ index.php?country=$1&id=$3 RewriteRule ^([a-zA-Z0-9_-]+)/(.*)/(.*)/([a-zA-Z0-9_-]+)/([a-zA-Z0-9_-]+)\.php$ index.php?country=$1&subid=$5&id=$4 RewriteBase /kuhlmann/ RewriteRule ^.+?---(.+)$ $1 [L,NE]
    猜你喜欢
    • 2013-02-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-05-31
    • 1970-01-01
    • 2023-03-27
    • 2011-12-21
    • 2017-08-10
    相关资源
    最近更新 更多