2009-10-09 60 views

回答

0

您可以使用mod_aliasmod_rewrite进行重定向。 mod_rewrite可以处理正则表达式,而mod_alias可以处理正则表达式和路径前缀。

下面是当你想重写一些例子/foo/…/bar/…

# mod_alias 
# path prefix 
Redirect 301 /foo /bar 
# regular expression 
RedirectMatch 301 ^/foo/(.*) /bar/$1 

# mod_rewrite 
RewriteEngine on 
RewriteRule ^foo/(.*) /bar/$1 [L,R=301] 

注意mod_alias中和mod_rewrite的为他们的正则表达式模式不同的要求。 mod_alias始终需要完整的URL路径。但是使用mod_rewrite取决于您是在.htaccess文件还是在服务器配置/虚拟主机部分中使用它。在.htaccess文件中,您需要编写没有每个目录路径前缀的模式(在文档根目录为/的情况下,在/quux/的情况下为/quux/)。

+0

我无法使格式化工作,对不起。 我在使用上面的时候做错了什么。我写... 重定向301 /幻想/ v /幻想/意见 RedirectMatch 301^/幻想/ v /(.*)/幻想/意见/ $ 1 但这导致我的整个网站的内部服务器错误。然后我尝试了这个... 重定向301 http://www.xecu.net/fantasy/v http://www.xecu.net/fantasy/opinions RedirectMatch 301 http://www.xecu.net/幻想/ v(。*)http://www.xecu.net/fantasy/opinions$1 这并没有导致错误,但没有奏效。我做错了什么? – 2009-10-09 19:33:33

相关问题