标签: http-status-code-301

重新设计网站后重复301重定向(SEO)

我们最近更新了我们的网站; 旧的有大约300页......新的大约有80页;)

这是因为在旧结构中,对于每个参数,我们都有很多页面.相反,现在我们只有一个页面带有"摘要".

例如,关于'car'参数的旧结构是:

  1. 主页,'汽车'
  2. 子页面,'轮胎'
  3. 子页面,'引擎'
  4. 子页面,'配件'
  5. 等等...

现在,我们只有1页'汽车',里面都有.

实际上,我将所有子页面重定向到主页面,使用.htaccess 301重定向:

Redirect 301 /cars-tires.php http://www.example.com/cars.php
Redirect 301 /cars-engines.php http://www.example.com/cars.php
Redirect 301 /cars-accessories.php http://www.example.com/cars.php
Run Code Online (Sandbox Code Playgroud)

所以我们有很多不同的(即使主题是相同的)页面指向一个页面.

你觉得这对seo有好处,还是会更好地重定向旧的主页面并给旧的子页面找不到404?

.htaccess seo http-status-code-404 http-status-code-301

5
推荐指数
1
解决办法
4188
查看次数

301使用htaccess和Cache重定向:如何删除旧缓存?

因此,经过大量的帮助和研究,我最终能够通过.htaccess文件获得301重定向,但我注意到,除非我在浏览器上实际点击"刷新",否则由于只是阅读缓存的网站而不会重定向页面.

我已经尝试关闭所有浏览器,插入.htaccess文件,然后打开一个新的浏览器,但它仍然打开缓存的网站.我猜想大多数客户都不会打扰刷新页面,如果他们不这样做,这将花费很长时间才能发现确实有新的页面!

有任何想法吗?谢谢!

-Karl

编辑:我只是想在我们当前的主页上添加一个链接,说"点击这里查看我们的新网站!" 并且该链接将刷新页面,从而将301重定向转为行动.任何人都可以想到这有任何负面影响吗?

.htaccess caching http-status-code-301

5
推荐指数
1
解决办法
5271
查看次数

使用GET/POST参数将Rails重定向到"www.somewebsite.com"?

我正在尝试在我的一个控制器中发出redirect_to到一个完全限定的URL +我想传递一些参数

在网站AI的控制器中:

redirect_to: "www.siteB.com/my_controller/my_action?my_parameter=123"
Run Code Online (Sandbox Code Playgroud)

在rails中有更好的方法吗?

ruby ruby-on-rails http-status-code-301 http-status-code-302

5
推荐指数
2
解决办法
4161
查看次数

Mass 301重定向使用.htaccess

我正在开展一个大型项目,涉及获取数千(30,000+)个静态网页并将其转换为CMS.

问题是这些页面中的许多页面在其目录中是重复的.我想通过使用301重定向保持SEO完好无损,但是,我不知道如何进行如此大的重定向(301).

以下是页面当前目录结构的示例.

/page.html
/folder/page.html
/folder/subfolder/page.html
/folder/subfolder/anotherfolder/page.html

如您所见,page.html在所有目录中都是重复的.

对于新CMS,该页面的URL就是/page.html.

apache .htaccess seo redirect http-status-code-301

5
推荐指数
1
解决办法
2033
查看次数

301从主域(www和非www)重定向到子域

我需要从mydomain.com或www.mydomain.com等主域重定向到sub.mydomain.com - 这需要适用于所有请求,所以mydomain.com/whatever转到sub.mydomain.com/whatever.

我试过这个,只适用于主域的非www:

RewriteCond %{HTTP_HOST} ^mydomain.com [NC]
RewriteRule ^(.*)$ http://sub.mydomain.com/$1 [L,R=301]
Run Code Online (Sandbox Code Playgroud)

.htaccess mod-rewrite redirect http-status-code-301

5
推荐指数
1
解决办法
2287
查看次数

PHP CURL遵循重定向以获取HTTP状态

我创建了以下PHP函数到网页的HTTP代码.

function get_link_status($url, $timeout = 10) 
{
  $ch = curl_init();

  // set cURL options
  $opts = array(CURLOPT_RETURNTRANSFER => true, // do not output to browser
                CURLOPT_URL => $url,            // set URL
                CURLOPT_NOBODY => true,         // do a HEAD request only
                CURLOPT_TIMEOUT => $timeout);   // set timeout
  curl_setopt_array($ch, $opts);

  curl_exec($ch); // do it!

  $status = curl_getinfo($ch, CURLINFO_HTTP_CODE); // find HTTP status

  curl_close($ch); // close handle

  return $status;
}
Run Code Online (Sandbox Code Playgroud)

如何修改此功能以遵循301和302重定向(可能的多重定向)并获取最终的HTTP状态代码?

php redirect curl http-status-code-301

5
推荐指数
1
解决办法
8062
查看次数

我无法更新Django的RedirectView.它一直引用旧URL,状态为301 Moved Permenantly

很抱歉,如果这个问题应该在Server Vault中.我无法确定这是编程错误还是服务器配置错误.

我最近将我的git提交推送到了实时服务器,我注意到一些非常令人沮丧的事情.

无论我如何编辑urls.py,我似乎无法更新RedirectView!

这是我的根 mysite/urls.py

urlpatterns = patterns('',
    url(r'^$', RedirectView.as_view(url=reverse_lazy('order_list')), name='home'),
    url(r'^doors/', include('doors.urls')),
    url(r'^accounts/', include('registration.urls')),
    url(r'^admin/', include(admin.site.urls)),
    url(r'^{}/'.format(settings.DAJAXICE_MEDIA_PREFIX), include('dajaxice.urls')),
)
Run Code Online (Sandbox Code Playgroud)

命名的URL order_list来自我的一个应用程序urls.py

urlpatterns = patterns('doors.views',
    url(r'^order/$', OrderListView.as_view(), name='order_list'),
    # And more URL patterns...
)
Run Code Online (Sandbox Code Playgroud)

所以基本上我只是改变r'^orders/$'r'^order/$'的最后一次提交.但每当我这样做时{% url home %},我注意到服务器一直试图重定向到旧的路径/doors/orders/而不是/doors/order/.我还注意到重定向是一个301 Moved Permanently.

于是,我就添加permenant=FalseRedirectView并重新启动服务器.但它仍然/doors/orders/和重定向仍然是301(它应该是302)!

为什么我没有RedirectView重定向到更新的URL?


服务器信息

在Gentoo Linux上使用mod_wsgi和Django …

apache django http-status-code-301 django-class-based-views

5
推荐指数
1
解决办法
1627
查看次数

url缩短器301重定向理解

我们正在用 PHP 开发一个 URL 缩短器项目。我们使用 301 HTTP 重定向并自然地跟踪我们的链接访问。但有一些奇怪的事情:

我们缩短了一个网址,通过浏览器通过后,只跟踪了第一次访问,好像没有其他请求发送到我们的服务器,直接转到目标网址。(我认为这是浏览器缓存之后一试)。但 :

当尝试使用类似bitly 的服务时,它有不同的待遇。相同浏览器上的一些相同请求在位访问跟踪中被跟踪(实际上不止一个,我不明白为什么,我没有看到任何逻辑),同时它们也使用 301 重定向。(在左边浏览器窗口的底部有时会写“waiting for bit.ly...”,有时不会,实际上是随机的)。

这里包含任何技巧吗?这种不同的待遇会发生什么?

redirect url-shortener http-status-code-301

5
推荐指数
2
解决办法
4579
查看次数

.htaccess 301将目录中的所有页面重定向到其他域而不使用查询字符串

这个问题可能已得到解答,但我似乎无法找到合适的解决方案.

我想301重定向所有页面,如下所示

http://www.domain1.com/nl/dolor/sith
http://www.domain1.com/nl/loremipsum
http://www.domain1.com/nl
Run Code Online (Sandbox Code Playgroud)

到新域,同时删除查询字符串,如下所示:

http://www.domain2.nl
Run Code Online (Sandbox Code Playgroud)

所有其他页面,例如http://www.domain1.com/be/loremipsum应该仍然可以使用.只有带后缀的那些nl应该重定向.

请注意,这些不是真正的目录:在我的.htaccess文件中,我有以下语句来重写我的查询字符串:

# Personal Rewrites
RewriteRule ^([A-Za-z0-9-_]+)/?$                                                                                            index.php?lid=$1                                        [L] 
RewriteRule ^([A-Za-z0-9-_]+)/([A-Za-z0-9-_]+)/?$                                                                           index.php?lid=$1&pl1=$2                                 [L] 
RewriteRule ^([A-Za-z0-9-_]+)/([A-Za-z0-9-_]+)/([A-Za-z0-9-_]+)/?$                                                          index.php?lid=$1&pl1=$2&pl2=$3                          [L] 
RewriteRule ^([A-Za-z0-9-_]+)/([A-Za-z0-9-_]+)/([A-Za-z0-9-_]+)/([A-Za-z0-9-_]+)/?$                                         index.php?lid=$1&pl1=$2&pl2=$3&pl3=$4                   [L] 
RewriteRule ^([A-Za-z0-9-_]+)/([A-Za-z0-9-_]+)/([A-Za-z0-9-_]+)/([A-Za-z0-9-_]+)/([A-Za-z0-9-_]+)/?$                        index.php?lid=$1&pl1=$2&pl2=$3&pl3=$4&pl4=$5            [L] 
RewriteRule ^([A-Za-z0-9-_]+)/([A-Za-z0-9-_]+)/([A-Za-z0-9-_]+)/([A-Za-z0-9-_]+)/([A-Za-z0-9-_]+)/([A-Za-z0-9-_]+)/?$       index.php?lid=$1&pl1=$2&pl2=$3&pl3=$4&pl4=$5&pl5=$6     [L] 
Run Code Online (Sandbox Code Playgroud)

我尝试过传统的重写,但这也发送了查询字符串:

Redirect 301 /nl http://www.domain2.nl
Run Code Online (Sandbox Code Playgroud)

其他技术似乎不起作用.而且我不擅长正则表达式......

有人可以提供或链接到合适的解决方案吗?提前致谢

.htaccess redirect http-status-code-301

5
推荐指数
1
解决办法
1435
查看次数

使用UrlRewriteFilter让Tomcat从http返回301重定向到https

我试图找出是否有人成功使用来自http://tuckey.org/urlrewrite/的UrlRewriteFilter可用于在Apache Tomcat中从http到https执行301永久重定向但我似乎无处可去快速.许多人都问同样的问题,AFAICS都没有被回答如果我问错地方了,那么也许有人会热情地向"重定向"我到正确的地方.如果不可能那么也许有人可以这样说.

谢谢.

    apache-tomcat-7.0.42
    jdk1.8.0_77
    CentOS Linux 7.2.1511
    urlrewritefilter-4.0.3.jar
Run Code Online (Sandbox Code Playgroud)

tomcat docs推荐的"标准"配置如下

    web.xml

    <security-constraint>
        <web-resource-collection>
            <web-resource-name>Secure URLs</web-resource-name>
            <url-pattern>/*</url-pattern>
        </web-resource-collection>
        <user-data-constraint>
            <transport-guarantee>CONFIDENTIAL</transport-guarantee>
        </user-data-constraint>
    </security-constraint>

    server.xml

    <Connector port="80" protocol="HTTP/1.1"
           connectionTimeout="20000"
           redirectPort="443" />

    <Connector port="443" maxThreads="150" scheme="https" secure="true"
           SSLEnabled="true" keystoreFile="/opt/keys/tomcat.keystore" 
           keystorePass="*********" clientAuth="false" keyAlias="tomcat" sslProtocol="TLS" />
Run Code Online (Sandbox Code Playgroud)

在浏览器中输入localhost会导致重定向到https,使用curl检查这一点我们可以看到这是按预期工作但我们得到302临时重定向

    root@sandbox:/tmp# curl -D /tmp/headers.txt -s  http://localhost

    HTTP/1.1 302 Found
    Server: Apache-Coyote/1.1
    Cache-Control: private
    Expires: Thu, 01 Jan 1970 01:00:00 GMT
    Location: https://localhost/
    Content-Length: 0
    Date: Fri, 29 Apr 2016 18:24:47 GMT
Run Code Online (Sandbox Code Playgroud)

然而,对于喜欢301永久性的谷歌而言,这是不可接受的

是否可以使用UrlRewriteFilter来实现这一目的

以下规则导致302,即使我正在使用type ="permanent-redirect",其他所有内容保持不变

    <rule> …
Run Code Online (Sandbox Code Playgroud)

https http-status-code-301 http-status-code-302 tuckey-urlrewrite-filter

5
推荐指数
0
解决办法
1333
查看次数