使用 htaccess 将另一个域图像加载到我的域?
Load another domain images to my domain using htaccess?
我有 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/ [R=301]
但它对我不起作用。因为我在我的所有页面中调用了完整的 URL。所以任何一个建议对我都非常有帮助
已更新 我的旧 Htaccess 文件
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteCond %{HTTP_HOST} ^example\.com$ [NC]
RewriteRule ^(.*)$ http://www.example.com/ [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/ [R=301]
</IfModule>
改成这个
RedirectMatch 301 ^/data/photo/ http://example2.com/data/photo/
为整个目录创建一个 301。
您需要重新排序您的规则。您最终的 htaccess 应该类似于
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^(data/photos/.*)$ http://example2.com/ [R=301,NC,L]
RewriteCond %{HTTP_HOST} ^example\.com$ [NC]
RewriteRule ^(.*)$ http://www.example.com/ [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>
我有 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/ [R=301]
但它对我不起作用。因为我在我的所有页面中调用了完整的 URL。所以任何一个建议对我都非常有帮助
已更新 我的旧 Htaccess 文件
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteCond %{HTTP_HOST} ^example\.com$ [NC]
RewriteRule ^(.*)$ http://www.example.com/ [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/ [R=301]
</IfModule>
改成这个
RedirectMatch 301 ^/data/photo/ http://example2.com/data/photo/
为整个目录创建一个 301。
您需要重新排序您的规则。您最终的 htaccess 应该类似于
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^(data/photos/.*)$ http://example2.com/ [R=301,NC,L]
RewriteCond %{HTTP_HOST} ^example\.com$ [NC]
RewriteRule ^(.*)$ http://www.example.com/ [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>