apache - 如果找不到内容,则重定向到旧站点

标签 apache .htaccess redirect http-status-code-404 cpanel

关闭。这个问题需要details or clarity .它目前不接受答案。












想改善这个问题吗?通过 editing this post 添加详细信息并澄清问题.

9 个月前关闭。




Improve this question




我们最近部署了新站点,因为旧站点给我们带来了很多问题,而且它是一个新闻站点。
我们已将旧站点更改为 old.domain.com,并将新站点设为 domain.com。人们过去常常访问 domain.com 上的旧站点,现在已转移到 old.doamin.com。将内容从旧网站转移到新网站是不可能的。该网站已有 4 年历史,很多内容都是从该网站共享的,例如 domain.com/xyz/abc,但是现在人们来访问那些旧的共享链接时,他们会被定向到新站点 domain.com/xyx/abc,在那里将找不到内容,因为内容现在已转移到 old.domain.com/xyz/abc。
所以我想实现重定向,这样当人们点击旧的共享链接 domain.com/xyz/abc 时,他们将被重定向到 old.domain.com/xyz/abc 只更改域,以便可以从旧站点显示内容。站点托管在 cpanel 中的 apachel 中。
我在 htaccess 中尝试了以下内容

<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^index\.html$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-l
RewriteRule ^(.*) https://old.domain.com/$1 [P]

</IfModule>
P.S 我不是程序员,但我正在努力为我的公司实现这一目标。

最佳答案

您可以使用此规则重定向来自 domain.com/foobar 的 URL。至 old.domain.com/foobar .

RewriteEngine on

RewriteCond %{HTTP_HOST} ^domain\.com$
RewriteRule . https://old.domain.com%{REQUEST_URI} [R=302,L]
这将重定向在 example.com 上收到的所有请求至 old.example.com .如果您在 domain.com 上有一些文件和文件夹不应重定向,然后使用以下内容:
RewriteEngine on

RewriteCond %{HTTP_HOST} ^domain\.com$
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . https://old.domain.com%{REQUEST_URI} [R=302,L]
如果这有效,则更改 R=302R=301使重定向永久。

关于apache - 如果找不到内容,则重定向到旧站点,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/65228762/

相关文章:

php - PHP 变量的 URL 中的问号使链接断开。知道为什么吗?

php - 404 Page Not Found 没有找到您请求的页面。代码点火器

python - Django request.user 重定向后变为匿名

php - 获取301重定向的使用统计

linux - 如何改进 Laravel 中的 url?

regex - Apache 2.4 - 由于可能的配置错误,请求超出了 10 个内部重定向的限制

apache - NSIS:检测 Tomcat 安装

.htaccess 重写电子邮件/ token 规则

apache - 通过 .htaccess 强制 SSL 重定向

ruby-on-rails - Rails 重定向在 nginx 和 gunicorn 设置上失败