uck*_*ker 23 httpd.conf 301-redirect apache-2.2
我们有一个 3000 301 重定向的列表。我们需要帮助
谢谢。
Tom*_*zky 32
您可以使用Include
指令 inhttpd.conf
来维护另一个文件中的重定向。但这不会非常有效,因为每个请求都需要根据大量正则表达式进行检查。每次更改文件后都需要重新启动服务器。
对于如此多的重定向,更好的方法是使用RewriteMap类型的指令dbm
来声明从 URI 到重定向的映射。这样它会很有效,因为 dbm 查找非常快,并且在地图更改后您不需要重新启动服务器,因为httpd
检查地图文件修改时间。
重写规则如下所示(在我的 Fedora 16 计算机上测试):
RewriteEngine On
RewriteMap redirects dbm=db:/etc/httpd/conf/redirects.db
RewriteCond ${redirects:$1} !=""
RewriteRule ^(.*)$ ${redirects:$1} [redirect=permanent,last]
Run Code Online (Sandbox Code Playgroud)
并且 dbm 地图将从文本地图创建,/etc/httpd/conf/redirects.txt
如下所示:
/foo http://serverfault.com/
/bar/lorem/ipsum/ http://stackoverflow.com/
Run Code Online (Sandbox Code Playgroud)
使用命令
httxt2dbm -f db -i /etc/httpd/conf/redirects.txt -o /etc/httpd/conf/redirects.db
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
7084 次 |
最近记录: |