出于SEO目的,我必须从URL中将_(下划线)替换为-(连字符)。我有数百个文件,所以我无法一个接一个地更改文件名。所以我写了一些.htaccess代码来做到这一点。
这是我正在使用的代码。
RewriteRule ^([^_]*)_(.*)$ /$1-$2 [R=301,L]
它成功地将我的网址从下划线更改为连字符。
现在我有一个名为"管理员"的子目录,我不希望这个目录网址从下划线替换为连字符。
所以我想跳过这个目录的网址来跳过.htaccess代码。
请帮助我如何跳过这个。
谢谢!
您也可以单独排除:
RewriteCond %{REQUEST_URI} !^/administrator/
RewriteRule ^([^_]*)_(.*)$ /$1-$2 [R=301,L]
如果您需要排除多个目录,则更容易,因为只需要再次添加相同的行。
您可以使用负前瞻:
RewriteRule ^(?!administrator/)([^_]*)_(.*)$ /$1-$2 [R=301,L,NC]
这将从此规则中跳过/administrator/
子目录。