我的.htaccess文件中有一些重写代码。我已将静态HTML网站移动到wordpress中,需要以下工作:
我无法工作,我已经尝试了所有已建议的方法。 domain.com.au到http://www.domain.com.au适用于除主页之外的所有页面,例如http://domain.com.au/ourteam重定向到http://www.domain.com.au/ourteam
但它不会重定向到根(主页)。
此外,我收到index.html重定向的页面未找到错误。
我的.htaccess文件是:
Options +FollowSymlinks
RewriteEngine on
### re-direct index.html to root
RewriteCond %{THE_REQUEST} ^.*\/index\.html
RewriteRule ^(.*)index\.html$ /$1 [R=301,L]
### non www to www
RewriteCond %{HTTP_HOST} ^domain\.com\.au$ [NC]
RewriteRule ^(.*)$ http://www.domain.com.au/$1 [R=301,L]
redirect 301 /team.html http://www.domain.com.au/our-team/
redirect 301 /contact.html http://www.domain.com.au/contact-us/
任何人的帮助 - 我用这个撕掉我的头发!
答案 0 :(得分:2)
抱歉,我遇到了麻烦,发现: Using htaccess to 301 redirect, not working
显然你必须将重定向放在#begin wordpress之上,因为apache处理重写并且永远不会进入你的重定向。
答案 1 :(得分:0)
尝试:
<IfModule mod_rewrite.c>
Options +FollowSymlinks
RewriteEngine on
### non www to www
RewriteCond %{HTTP_HOST} ^domain.com.au [NC]
RewriteRule ^(.*)$ http://www.domain.com.au/$1 [R=301,L]
### re-direct index.html to root
RewriteCond %{THE_REQUEST} ^[A-Z]{3,9}\ /index\.html\ HTTP/
RewriteRule ^index\.html$ http://www.domain.com.au/ [R=301,L]
redirect 301 /team.html http://www.domain.com.au/our-team/
redirect 301 /contact.html http://www.domain.com.au/contact-us/
# WrodPress rules begin here...
</IfModule>
答案 2 :(得分:0)
当您使用rewrite
规则时,您需要以重写格式设置301,这是唯一可行的方式。
RewriteRule ^/team.html$ http://www.domain.com.au/our-team/ [R=301,L]