Php .htaccess 301重定向:访问新域并查看保留所有结构的旧域,仅使用新url

Php .htaccess 301重定向:访问新域并查看保留所有结构的旧域,仅使用新url,php,apache,.htaccess,mod-rewrite,redirect,Php,Apache,.htaccess,Mod Rewrite,Redirect,我想访问和查看来自的所有内容,但url栏显示新域并保留所有旧结构 电子商务平台是OpenCart。在位于/shop/文件夹下的.htaccess中,我当前有以下代码: Options +FollowSymlinks Options -Indexes <FilesMatch "\.(tpl|ini|log)"> Order deny,allow Deny from all </FilesMatch> RewriteEngine On RewriteBase /sh

我想访问和查看来自的所有内容,但url栏显示新域并保留所有旧结构

电子商务平台是OpenCart。在位于/shop/文件夹下的.htaccess中,我当前有以下代码:

Options +FollowSymlinks
Options -Indexes

<FilesMatch "\.(tpl|ini|log)">
 Order deny,allow
 Deny from all
</FilesMatch>

RewriteEngine On

RewriteBase /shop/
Options +FollowSymlinks
RewriteCond %{HTTP_HOST} !^(www\.|$) [NC]
RewriteRule ^ http://www.%{HTTP_HOST}%{REQUEST_URI} [R=301,L]
RewriteRule sitemap.xml /index.php?route=feed/google_sitemap
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^([^?]*) index.php?_route_=$1 [L,QSA]
Options+FollowSymlinks
选项-索引
命令拒绝,允许
全盘否定
重新启动发动机
基地/商店/
选项+FollowSymlinks
重写cond%{HTTP_HOST}^(www\.|$)[NC]
重写规则^http://www.%{HTTP_HOST}%{REQUEST_URI}[R=301,L]
重写规则sitemap.xml/index.php?route=feed/google\u sitemap
重写cond%{REQUEST_FILENAME}-F
重写cond%{REQUEST_FILENAME}-D
RewriteRule^([^?]*)index.php?_route_uu=$1[L,QSA]

我不习惯htaccess代码,请解释清楚:)

您需要使用mod_proxy来完成此操作。除非mod_代理加载到apache服务器中,否则不能使用它。如果已加载,您可以将其添加到newdomain.co主机文档根目录中的htaccess文件中:

RewriteEngine On
RewriteCond %{HTTP_HOST} newdomain\.co$ [NC]
RewriteRule ^(.*)$ http://olddomain.com/shop/$1 [L,P]
如果什么也没有发生,或者您被重定向到旧域,那么您就没有加载mod_代理

如果两个域使用相同的文档根目录,则不需要使用mod_proxy,只需在文档根目录中使用:

RewriteEngine On
RewriteCond %{HTTP_HOST} newdomain\.co$ [NC]
RewriteRule ^(.*)$ /shop/$1 [L]

请注意,我想保留所有的结构,所以访问应该显示位于