我必须用 - (连字符)替换来自网址的 - (连字符)用于搜索引擎优化目的。我有数百个文件,因此我无法逐个更改文件名。所以我写了一些 .htaccess 代码来做那件事。
这是我正在使用的代码。
RewriteRule ^([^_]*)_(.*)$ /$1-$2 [R=301,L]
它成功地将我的网址从下划线更改为连字符。
现在我有一个名为“ administrator ”的子目录,我不希望这个目录网址从下划线替换为连字符。
所以我想跳过这个目录的网址以跳过.htaccess代码。
请帮我怎么跳过这个。
谢谢!
答案 0 :(得分:1)
您也可以单独排除:
RewriteCond %{REQUEST_URI} !^/administrator/
RewriteRule ^([^_]*)_(.*)$ /$1-$2 [R=301,L]
如果您需要排除多个目录,则更容易,因为只需再次添加同一行。
答案 1 :(得分:0)
您可以使用否定前瞻:
RewriteRule ^(?!administrator/)([^_]*)_(.*)$ /$1-$2 [R=301,L,NC]
这将从此规则中跳过/administrator/
子目录。