我正在寻找以下内容,使用.htaccess文件中的两个变量更改网址,来自:
domain.com/folder/a123/url/index.php
domain.com/otherfolder/a321/url/index.php
为:
domain.com/folder/url/index.php
domain.com/otherfolder/url/index.php
我更喜欢单行.htaccess RewriteRule,如果可能的话。
"夹"和"其他文件夹"是唯一的两个"文件夹名称"和" a123" /" a321"可以是以" a"开头的任何东西。并以随机数结尾。
答案 0 :(得分:0)
您可以使用以下一个规则在一个中执行此操作:
RewriteEngine on
RewriteRule ^(.+)/a[0-9]*/url/index.php$ /$1/url/index.php [R=301,NC]
但是如果你想重定向所有页面而不仅仅是index.php
,那么请使用它:
RewriteRule ^(.+)/a[0-9]*/url/(.*)$ /$1/url/$2 [R=301,NC]
此外,如果您想重写网址而不是重定向,请将[R=301,NC]
更改为[NC]
。
请注意,如果您在其他网址中使用该模式,此规则也会适用,例如,如果您有这些类型的网址并且不想重定向,它也会将domain.com/adifferentfolder/a567/url/index.php
重定向到domain.com/adifferentfolder/url/index.php
他们需要使用两个规则:
RewriteRule ^folder/a[0-9]*/url/(.*)$ /folder/url/$1 [R=301,NC]
RewriteRule ^otherfolder/a[0-9]*/url/(.*)$ /otherfolder/url/$1 [R=301,NC]