由于phpdisk v5.0开始,使用了更加兼容性的URL Rewrite 重写规则,文件重新以 .html 为结束,跟 v3.7,v4.0 时的结构不一样。
下面以apache重写规则为例。
phpdisk v3.7,v4.0重写规则:
RewriteEngine On
RewriteRule ^file/([0-9]+)/([a-zA-Z0-9]*)/?$ viewfile.php?file_id=$1&file_key=$2
RewriteRule ^viewfile/view/([0-9]+)/([a-zA-Z0-9]*)/?$ downfile.php?action=view&file_id=$1&file_key=$2
RewriteRule ^downfile/([0-9]+)/([a-zA-Z0-9]*)/?$ downfile.php?file_id=$1&file_key=$2
RewriteRule ^space/([0-9]+)/?$ space.php?uid=$1
phpdisk v5.0重写规则:(可以在 SEO插件 中了解到重写规则)
RewriteEngine On
RewriteRule ^file-([0-9]+)\.html$ viewfile.php?file_id=$1&file_key=$2 [NC]
RewriteRule ^viewfile-([0-9]+)-([a-z0-9]*)\.html$ downfile.php?action=view&file_id=$1&file_key=$2 [NC]
RewriteRule ^downfile-([0-9]+)-([a-z0-9]*)\.html$ downfile.php?file_id=$1&file_key=$2 [NC]
RewriteRule ^space-(.+)\.html$ space.php?username=$1 [NC]
用户反馈,升级到v5.0之后,以前的重写URL失效,解决办法(以apache为例,其他的主机使用相应的重写规则即可)请看下到的操作:
1、修改模板 templates/default/pd_header.tpl.html 在最后一个
标签下添加 <base href="{$settings['phpdisk_url']}">
2、在现在5.0的生写规则处添加v3.7,v4.0的规则即可:
RewriteRule ^file/([0-9]+)/([a-zA-Z0-9]*)/?$ viewfile.php?file_id=$1&file_key=$2
RewriteRule ^viewfile/view/([0-9]+)/([a-zA-Z0-9]*)/?$ downfile.php?action=view&file_id=$1&file_key=$2
RewriteRule ^downfile/([0-9]+)/([a-zA-Z0-9]*)/?$ downfile.php?file_id=$1&file_key=$2
RewriteRule ^space/([0-9]+)/?$ space.php?uid=$1
这样就可以实现旧版本重写规则转移到新版本。
附图: