替换一个单词后.htaccess重定向?

时间:2009-04-28 21:00:23

标签: regex .htaccess mod-rewrite redirect

我需要使用.htaccess文件来替换URL中的单词;像这样的东西:

示例网址:

 http://example.com/oldword/test-page.html

重定向到:

 http://example.com/newword/test-page.html

如何在替换该字后使用mod_rewrite将包含 / oldword / 的每个网址重定向到同一网址?

3 个答案:

答案 0 :(得分:8)

这应该适合你:

RewriteRule ^oldword/(.*)   /newword/$1   [L]

编辑:它可能无法正常工作,具体取决于您的RewriteBase设置,但它会很接近。

第二次编辑:如果您需要与旧网址关联的301 Moved Permanently标头,您也可以执行以下操作:

RewriteRule ^oldword/(.*)   /newword/$1   [R=301,L]

答案 1 :(得分:1)

见这里:

<IfModule mod_rewrite.c>
RewriteEngine on
RewriteBase /
RewriteRule ^oldword(.*)$ http://%{HTTP_HOST}/newword$1 [L]
</IfModule>

侨,

克里斯

答案 2 :(得分:0)

通过这种方式,您可以独立重定向您想要替换的'oldword'周围的内容:

<IfModule mod_rewrite.c>
   RewriteEngine on
   RewriteBase /

   # Replace 'oldword' with 'newword' and 301 redirect 
   RewriteCond %{REQUEST_FILENAME} !-d
   RewriteRule ^(.*)oldword(.*)$ /$1newword$2 [L,R=301]
</IfModule>
相关问题