.htaccess重写插入新网址段,例如www.domain.com/wildcard == www.domain.com/new_segment/wildcard/

时间:2014-04-06 14:31:16

标签: .htaccess redirect rewrite

我想通过htaccess重写在全球范围内这样做,所以www.domain.com/wildcard/会== www.domain.com/new_segment/wildcard/但我似乎无法弄清楚这一点。

到目前为止,我有以下内容:

Options +FollowSymLinks -MultiViews

RewriteCond %{HTTP_HOST} ^domain\.com$ [OR]
RewriteCond %{HTTP_HOST} ^www\.domain\.com$
RewriteRule ^(.*)$ "http\:\/\/www\.domain\.com\/new_segment\/$1" [R=301,L]

出于某种原因,在初始页面加载时,我会收到www.domain.com/new_segment/new_segment/,但如果我访问www.domain.com/old_segment,我希望www.domain.com/new_segment/old_segment/我得到了www.domain.com/old_segment/。

非常感谢任何帮助。

2 个答案:

答案 0 :(得分:0)

你为什么要这样?无论如何,您可以通过将所需文件放入目录并从/ old_segment中的文件重定向到/ new_segment来更轻松地完成。

答案 1 :(得分:0)

这可以通过以下方式完成:

RewriteEngine On
RewriteCond %{REQUEST_URI} !^/new_segment
RewriteRule ^(.*)$ /new_segment/$1 [R=301,L]

它会检查网址中的new_segment是否不是,如果是,则不会重定向任何内容。如果不是,则会添加new_segment