我正在使用.htaccess更改我的网站网址。
到现在为止,我正在使用
RewriteRule ^folder/([^/.]+)/p([0-9]+)/?$ folder/handler.php?name=$1&p=$2 [L]
现在,我想更改“-p”的“/ p”。
我试过
RewriteRule ^folder/([^/.]+)/p([0-9]+)/?$ ^folder/([^/.]+)-p([0-9]+)/?$ [L, R=301]
但是当我尝试访问这两个网址时,它会给我一个500错误。
有没有办法从第一个到第二个制作301?还是其他任何选择?
答案 0 :(得分:1)
几个问题:
R=301
RewriteRule
的RHS(目标方)您有正则表达式保持这样的规则:
RewriteRule ^(folder/[^/.]+)/(p[0-9]+/?)$ /$1-$2 [L,NC,R=301]
RewriteRule ^folder/([^.-]+)-p([0-9]+)/?$ folder/handler.php?name=$1&p=$2 [L,NC,QSA]
答案 1 :(得分:0)
我是这样做的:
RewriteEngine On
RewriteCond %{HTTP_HOST} !^www*******com$ [NC]
RewriteRule ^(.*)$ www.******.com/$1 [L,R=301]
RewriteCond %{THE_REQUEST} ^[A-Z]{3,9}\ /index\.html\ HTTP/
RewriteRule ^index\.html$ www.*******.com/ [R=301,L]
Redirect /..../p /....-p