php - 使用 htaccess 将另一个域图像加载到我的域?

标签 php apache .htaccess mod-rewrite redirect

我有 2 个域和 2 个服务器 example.com example2.com .例如: example.com 是我的主域。我将我的网站图片上传到 example2.com

我当前的图像路径 http://example.com/data/photos/sample.jpg .
但我所有的图片都在 http://example2.com/data/photos/sample.jpg
所以我创建了 htaccess 301 重定向

RewriteEngine on
RewriteBase /
RewriteRule ^data/photos/(.*)$ http://example2.com/data/photos/$1 [R=301]

但它对我不起作用。因为我在我的所有页面中都调用了完整的 URL。所以任何一个建议都对我很有帮助

更新 我的旧 Htaccess 文件
<IfModule mod_rewrite.c>

RewriteEngine On

RewriteCond %{HTTP_HOST} ^example\.com$ [NC]
RewriteRule ^(.*)$ http://www.example.com/$1 [R=301,L]
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php?%{QUERY_STRING} [NE,L]
RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization},L]
RewriteEngine On
RewriteBase /
RewriteRule ^data/photos/(.*)$ http://example2/data/photos/$1 [R=301]
</IfModule>

最佳答案

您需要重新排列规则。你最终的 htaccess 应该看起来像

<IfModule mod_rewrite.c>
    RewriteEngine On
    RewriteBase /

    RewriteRule ^(data/photos/.*)$ http://example2.com/$1 [R=301,NC,L]

    RewriteCond %{HTTP_HOST} ^example\.com$ [NC]
    RewriteRule ^(.*)$ http://www.example.com/$1 [R=301,L]

    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteRule ^(.*)$ index.php?%{QUERY_STRING} [NE,L]

    RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization},L]
</IfModule>

关于php - 使用 htaccess 将另一个域图像加载到我的域?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28668125/

相关文章:

javascript - 将 html 表单数据保存到文件

php - 如何使用 Laravel 4.1 基于 id 或对象数组执行批量删除?

php - 如何在 PHP 中的不同 session 之间创建共享对象?

php - 使用 smarty php 的 SEO 友好 URL?

.htaccess - Htaccess - 限制对文件的访问,但仅限于当前目录

php - 为什么有些数组参数在左括号后有一个逗号?

apache - Varnish :可缓存但未缓存

php - Docker 容器中的 Apache、PHP、WordPress 缓存问题

python - 使用与系统默认版本不同的 virtualenv 或 Python 运行 mod_wsgi

apache - 我可以在 .htaccess 中设置 php.ini (upload_max_filesize) 变量以仅应用于一个 .php 文件吗?