0
我正在改造我的网站,将重新命名很多目录,并且需要一个简单的方法来为所有这些页面编写我的.htaccess重定向。我希望有一个不包含很长文件列表的解决方案。我的.htaccess文件很大,因为它是。是否可以在.htaccess文件中使用通配符进行批量移动?
我正在改造我的网站,将重新命名很多目录,并且需要一个简单的方法来为所有这些页面编写我的.htaccess重定向。我希望有一个不包含很长文件列表的解决方案。我的.htaccess文件很大,因为它是。是否可以在.htaccess文件中使用通配符进行批量移动?
您可以使用mod_alias或mod_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/
)。
我无法使格式化工作,对不起。 我在使用上面的时候做错了什么。我写... 重定向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