。htaccess中添加301重定向不起作用

问题描述 投票:0回答:1

我在.htaccess文件中有一些代码,我想在其中添加301重定向,以将某些页面重定向到新位置,但是301重定向不起作用。

我要添加的301重定向是:

### 301 Redirects ###
Redirect 301 /old_page.html /new_page
Redirect 301 /old_page.html /new_page
Redirect 301 /old_page.html /new_page
Redirect 301 /old_page.html /new_page

我大约有100页要重定向,所以我将上述代码复制到每一页。

问题是上述代码无法正常工作,并且页面无法重定向。我认为该代码与.htaccess文件中的现有代码冲突。

。htaccess中的现有代码为:

<IfModule mod_rewrite.c>
RewriteEngine On

### SSL HTTPS Redirect
RewriteCond %{HTTPS} !=on
RewriteRule ^ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]

### Exrx.net/page will display the contents of Exrx.net/page.html
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME}.html -f
RewriteRule ^(.+)$ $1.html [L,QSA]

### 301 from Exrx.net/page.html to Exrx.net/page
RewriteCond %{THE_REQUEST} ^[A-Z]{3,9}\ /.*\.html\ HTTP/
RewriteRule ^(.*)\.html$ /$1 [R=301,L]

### -- concrete5 urls start --
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME}/index.html !-f
RewriteCond %{REQUEST_FILENAME}/index.php !-f
RewriteRule . index.php [L]
</IfModule>
### -- concrete5 urls end --

我不是.htaccess方面的专家,有人可以指出我的冲突,为什么我要添加的301重定向无法正常工作?

.htaccess redirect http-status-code-301 concrete5
1个回答
0
投票
RewriteCond %{HTTP_HOST} ^(www\.domain\.com)|(domain\.com)$ [NC]
RewriteRule ^old_page\.html$ /new_page/ [R=301,L]

将www.domain.com/old_page.html重定向到www.domain.com/new_page /

© www.soinside.com 2019 - 2024. All rights reserved.