【问题标题】:.htaccess redirect absolute image path to subfolder.htaccess 将绝对图像路径重定向到子文件夹
【发布时间】:2017-04-02 16:14:16
【问题描述】:

我正在和另一个在 HTML 中使用根绝对路径的人开发一个网站,例如

<img src="/images/fb-icon.png" border="0">

我需要在我的 NAS 上的 webfoot 子文件夹中授予对网站的预览访问权限,我无法将其移动到根文件夹,地址是这样的

http://192.168.1.50/mypreview/

我想通过.htaccess 仅重定向损坏的图像路径文件的任何方法?

编辑:

在我的 NAS 上,我有多个预览文件夹,例如: http://192.168.1.50/mypreview/包含预览网站,生产域http://mypreview.com/

http://192.168.1.50/mypreview-a/包含预览网站A,生产域http://mypreview-a.com/

http://192.168.1.50/mypreview-b/包含预览网站B,生产域http://mypreview-b.com/

每个文件夹都包含一个完整的网站,与我可以在生产网络服务器上浏览的内容相对应

我需要在 /mypreview 文件夹中添加 htaccess 规则 对于每个网站,图像都作为一个子文件夹,网站目录三的示例,在 /mypreview/en /mypreview/it 我有我的 php 文件

/mypreview
/mypreview/en
/mypreview/it
/mypreview/images
/mypreview/pdf
/mypreview/common

PHP 文件 /mypreview/it/index.php 包含

<img src="/images/fb-icon.png" border="0">

它在生产服务器上正常工作,因为它寻找

http://mypreview.com/images/fb-icon.png

但不在预览环境中,因为它会寻找

http://192.168.1.50/images/fb-icon.png

而不是

http://192.168.1.50/mypreview/images/fb-icon.png

【问题讨论】:

    标签: html .htaccess path


    【解决方案1】:

    要将损坏的图像重定向到根目录,您可以在 /subfolder/.htaccess 中使用以下内容

    <filesMatch "\.(png|gif|jpg)$">
    ErrorDocument 404 http://example.com/mypreview/
    </filesMatch>
    

    【讨论】:

    • 我需要将 .htaccess 放在 mypreview 文件夹中,因为在我的 NAS 上我有多个预览网站,它似乎不起作用
    【解决方案2】:

    您可以在 root .htaccess 中使用此规则来修复损坏的路径并将其重写为mypreview/

    RewriteEngine On
    
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteRule !^mypreview/ mypreview%{REQUEST_URI} [L,NC]
    

    【讨论】:

    • 我需要将 .htaccess 放在 mypreview 文件夹中,因为在我的 NAS 上我有多个预览网站,它似乎不起作用
    • 在多个预览文件夹中,http://images/fb-icon.png 将被重写到哪一个?
    • 我更新了我原来的问题,希望我能澄清我的问题,谢谢
    • 如果 .htaccess 在 /mypreview 内,则它无法处理 /images/fb-icon.png URI。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-05-15
    • 1970-01-01
    • 1970-01-01
    • 2017-12-05
    • 1970-01-01
    相关资源
    最近更新 更多