EPrints Technical Mailing List Archive
See the EPrints wiki for instructions on how to join this mailing list and related information.
Message: #01094
< Previous (by date) | Next (by date) > | < Previous (in thread) | Next (in thread) > | Messages - Most Recent First | Threads - Most Recent First
[EP-tech] Re: How to emulate former persistent uri schemes?
- To: eprints-tech@ecs.soton.ac.uk
- Subject: [EP-tech] Re: How to emulate former persistent uri schemes?
- From: Florian Heß <hess@ub.uni-heidelberg.de>
- Date: Mon, 17 Sep 2012 15:53:24 +0200
Am 14.09.2012 11:46, schrieb Florian Heß:
Hi, to have persistent urls is just fine. Yet, as a logical consequence, that means that the validity/availability of a URI must be guaranteed even no matter which repository software happens to work behind the scenes. Thus, how can I make EPrints emulate our former persistent document URLs according to the scheme $base/volltexte/$year/$id[/$ext/$file]? Hope that is possible in EPrints without hacking EPrints::Apache:Rewrite, is it? (The year part doesn't need to match properly, i.e. whether a document is cited by volltexte/1999/445 or volltexte/2071/441, it should be no problem so we avoid requesting the database. The ext part neither.) Mod_rewrite rules or ScriptAlias directives (by which we could install a cgi script to handle anything after "/volltexte/...") do not seem to be respected while that module is in effect, right?
Hi,
just as a note for those who run into the same problem:
currently trying with
# in: archives/heidok/cfg.d/20_baseurls.pl
$c->{rewrite_exceptions} = [ '/heidok/volltexte' ];
and
<VirtualHost *:80>
...
ScriptAliasMatch /([a-z]+?)dok/volltexte/
/eprints/cgi/ubhd_emulate_legacyurl
...
</VirtualHost>
$ cat /eprints/cgi/ubhd_emulate_legacyurl
#!/usr/bin/perl
use strict;
use FindBin;
use lib "$FindBin::Bin/../perl_lib";
# we run in plain CGI mode, not in EPrints mod_perl environment:
use EPrints qw(no_check_user);
my $query = $ENV{REQUEST_URI};
my (undef, $instance, undef, $id,undef,$file) = split /\/+/, $query;
# ^domain ^ year ^ ext
my $repo = EPrints->new->repository($instance);
# TODO: redirection
__END__
Works fine so far ... :-)
Kind regards,
F Heß
--
UB Heidelberg (Altstadt)
Plöck 107-109, 69117 HD
- Informationstechnik
- WWW-Redaktion
http://www.ub.uni-heidelberg.de/
- References:
- [EP-tech] How to emulate former persistent uri schemes?
- From: Florian Heß <hess@ub.uni-heidelberg.de>
- [EP-tech] How to emulate former persistent uri schemes?
- Prev by Date: [EP-tech] Re: Migrating stats
- Next by Date: [EP-tech] EPrints on Ubuntu Server -- can I safely update to new release of server without losting EPrints?
- Previous by thread: [EP-tech] How to emulate former persistent uri schemes?
- Next by thread: [EP-tech] Migrating stats
- Index(es):
