我更改了网站上的一些文件名,现在我想将“301 永久移动”从旧文件重定向到新文件。
问题是我的网站完全由静态 html 页面组成,所有 301 重定向教程都描述了如何在 PHP、ASP、htaccess 等中执行此操作。我想将重定向直接写入旧的 html 文件,这可能吗?或者我是否必须联系我的网络提供商并解决服务器上的重定向问题?
我对服务器的唯一了解是它运行在 Windows 上,我对服务器知识一无所知。
编辑:我的网络托管使用的是 Microsoft IIS 7.0,因此我假设此处无法使用 .htaccess?
编辑 #2:刚才我的服务器管理员写信给我,即使我只使用静态 HTML 页面,我仍然可以使用 web.config 文件来重定向各个 html 文件。这非常好。
我目前正在将一个站点(商店)移动到一个新域,并在其位置放置该站点的非商店版本(在 wordpress 中制作)。目的是让大多数 url 重定向到新域,除了新站点拥有的少数页面。我在 stackoverflow 上找到了其他帖子,但不幸的是我似乎无法让它工作。任何帮助将不胜感激,谢谢杰森。
我需要排除的网址是:/(主页)/news 及其帖子 /news/post-name /products 及其帖子 /products/post-name /offers 及其帖子 /offers/post-name /our-philosophy /我们的团队/我们的梦想
这是我尝试过的:
<IfModule mod_rewrite.c>
RewriteEngine on
#Home
RewriteCond %{REQUEST_URI} !^/
#News
RewriteCond %{REQUEST_URI} !^/news(.*)
#Products
RewriteCond %{REQUEST_URI} !^/products(.*)
#Offers
RewriteCond %{REQUEST_URI} !^/offers(.*)
#Philosophy
RewriteCond %{REQUEST_URI} !^/our-philosophy(.*)
#Team
RewriteCond %{REQUEST_URI} !^/our-team(.*)
#Dream
RewriteCond %{REQUEST_URI} !^/our-dream(.*)
RewriteRule (.*) http://www.cotswold-fayre.co.uk/$1 [R=301,L]
</IfModule>
# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule> …Run Code Online (Sandbox Code Playgroud) .htaccess mod-rewrite redirect url-rewriting http-status-code-301
我想从old_page.phpto进行 301 重定向new_page.php并保留所有查询字符串(如果它们存在)。
所以old_page.php会重定向到new_page.php
old_page.php?test=1 将重定向到 new_page.php?test=1
这是我在下面的内容,但它是 404 错误。
RewriteEngine on
RewriteRule ^old_page.php(.*) new_page.php$1 [R=301,L]
Run Code Online (Sandbox Code Playgroud) Namecheap 和其他注册商提供了一种在配置 DNS 时设置 HTTP 301 或 302 重定向的方法。这是一个很好的功能,否则您需要自己实现它。请参阅以下 Namecheap DNS 配置页面的屏幕截图。
谷歌云 DNS 是否提供类似的东西?
我有超过 50 个 html 页面,我将把它们移动到同一域中的不同文件夹中。
如何正确地为每一个进行 301 重定向?
有人说将重定向放在metahtml 标签中。像这样<meta http-equiv="refresh" content="0; url=http://example.com/" />
其他人说将其放入 .htaccess 文件中,我不确定最好的方法是什么?
我的目标是将旧网址重定向到新网址,而不会丢失 Google 中的页面排名。
我请求帮助,因为我已经伤透了头,我不知道如何解决问题......
我从一个域移动到另一个域,我希望所有链接 301 重定向到新域,但到主页我想添加查询字符串,如 ?from=example.com (仅适用于主页)。
https://example.com 301 -> https://newdomain.com/?from=example.com
所有其他链接都只是重定向 301,例如https://newdomain.com $request_uri;
我尝试过,但它不起作用
server {
listen 443 ssl;
server_name example.com www.example.com;
location = / {
return 301 https://newdomain.com/?from=example.com;
}
return 301 https://newdomain.com$request_uri;
}
Run Code Online (Sandbox Code Playgroud)
感谢帮助
我必须手动将我的website1中的几个URL重定向到website2.
下面是我在.htaccesswebsite1文件中的代码
Redirect 301 /post1/ https://www.website2.com/post1
Run Code Online (Sandbox Code Playgroud)
当我进入https://www.website1.com/post1/浏览器时https://www.website2.com/post1,正如预期的那样,它被重定向到成功.
但是,当我进入https://www.website1.com/post1浏览器时,它被重定向到https://www.website2.compost1,之后丢失了斜杠https://www.website2.com
有什么办法可以解决这个问题?
假设我有以下控制器及其父类:
@RestController
public class BusinessController extends RootController {
@GetMapping(value = "users", produces = {"application/json"})
@ResponseBody
public String users() {
return "{ \"users\": [] }"
}
@GetMapping(value = "companies", produces = {"application/json"})
@ResponseBody
public String companies() {
return "{ \"companies\": [] }"
}
}
@RestController
@RequestMapping(path = "api")
public class RootController {
}
Run Code Online (Sandbox Code Playgroud)
通过调用以下 URL 来检索数据:
http://app.company.com/api/users
http://app.company.com/api/companies
Run Code Online (Sandbox Code Playgroud)
现在假设我想重命名/api路径,但通过在新 URI 旁边/rest返回 HTTP 状态代码来保持其“可用”301
例如客户请求:
GET /api/users HTTP/1.1
Host: app.company.com
Run Code Online (Sandbox Code Playgroud)
服务器请求:
HTTP/1.1 301 Moved Permanently
Location: http://app.company.com/rest/users …Run Code Online (Sandbox Code Playgroud) spring url-rewriting http-status-code-301 spring-boot request-mapping
如果登录用户尝试访问它,我想将"homebox/1"的请求重定向到"homebox/1/[uid]".我现在还不关心匿名用户.
这是我放入首页的代码 - homebox.tpl.php:
if(!is_numeric(arg(2))){
global $user;
if($user->uid){
if(count($_GET) > 1){
$get = array();
foreach($_GET as $k=>$v){
if($k != 'q')
$get[] = $k.'='.$v;
}
$get2 = '?'.implode('&',$get);
}
header("HTTP/1.1 301 Moved Permanently");
header('location:/homebox/1/'.$user->uid.$get2);
}else{
//redirect to error page
}
}
Run Code Online (Sandbox Code Playgroud)
但是,*.tpl.php文件是否在请求后期处理?在那种情况下,我做得相当低效.
我知道路径重定向模块(http://drupal.org/project/path_redirect).我不想使用它,因为我想知道是否有任何用于重定向的Drupal API和/或在处理链开始时捕获和重定向请求的方法.
谢谢Arul
我有一个网站,例如(http://example.com).我希望将任何请求/例如http://example.com重定向到http://example.com/stuff.我添加了一个.htaccess文件,其中包含以下行:
redirect 301 / http://example.com/stuff
Run Code Online (Sandbox Code Playgroud)
有什么建议吗?