Joe,

 

Could you elaborate on exactly how you got this working? e.g. where you put the AllowEncodedSlashes directive, which version of Apache you are running, and which ID value you used.

 

I’m trying to reproduce this on my test server, and I’m still having trouble.

 

The VuFind test suite includes a record with the ID: dollar$ign/slashcombo

 

This generates a link like this for the record page:

 

http://my-test-server/vufind/Record/dollar$ign%2Fslashcombo

 

I’ve tried putting “AllowEncodedSlashes on” at the top of httpd-vufind.conf and in the main Apache configuration for my server.  In both cases, the URL above leads me to a 404 page.

 

I’m running Apache 2.2.22 on Ubuntu 12.04.3; that version definitely supports the AllowEncodedSlashes directive (I get an appropriate error message if I try to put it in an illegal place, like inside a <Directory> block)… but it doesn’t seem to be working for me.

 

Hopefully I’m just missing some little detail – it would be great to finally close out this issue.

 

- Demian

 

From: Demian Katz
Sent: Wednesday, August 28, 2013 12:58 PM
To: 'Joe Atzberger'
Cc: vufind-tech Tech
Subject: RE: [VuFind-Tech] Identifiers with punctuation (Hathi) break routing

 

That’s very good news!  Maybe the uglier “AllowEncodedSlashes NoDecode” solution was only necessary because of VF1’s more complicated mod_rewrite rules.  Thanks for the update – when I have a little more time I’ll play with this on my own and see if I get the same result.

 

- Demian

 

From: Joe Atzberger [mailto:joe@booksite.com]
Sent: Wednesday, August 28, 2013 12:31 PM
To: Demian Katz
Cc: vufind-tech Tech
Subject: Re: [VuFind-Tech] Identifiers with punctuation (Hathi) break routing

 

This was enough to get it working for me:
AllowEncodedSlashes On

 

On Wed, Aug 28, 2013 at 12:15 PM, Joe Atzberger <joe@booksite.com> wrote:

Yeah, I hate to even see "double url-encode" suggested as the solution for *anything*.

 

On Wed, Aug 28, 2013 at 8:34 AM, Demian Katz <demian.katz@villanova.edu> wrote:

We have an open JIRA ticket about this issue:

 

http://vufind.org/jira/browse/VUFIND-513

 

As already discussed on-list, it has to do with Apache behavior.

 

A variation of the solution in the 27/Jul/12 comment on the ticket might work for you.  Since that comment refers to 1.x, I’ve also added a 2.x-specific comment with some updated ideas.

 

This remains a very irritating problem – I’d love to find a solution that actually “just works” without requiring hacky workarounds.  This is one of the few areas where I’m really not pleased with Apache.

 

- Demian

 

From: Joe Atzberger [mailto:joe@booksite.com]
Sent: Tuesday, August 27, 2013 11:21 PM
To: vufind-tech Tech
Subject: [VuFind-Tech] Identifiers with punctuation (Hathi) break routing

 

I loaded up a separate Solr core with Hathi ebook metadata, and since it is a limited set (from "Hathi Files", not MARC) searching it is super fast, less than a tenth of a second, typically.  

 

My problem is that the IDs used by Hathi sometimes include slashes and punctuation that break Zend routing to my controller.  For example loc.ark:/13960/t1xd12868:

 

So that is a real ID ("volume_id" in Hathi terms) and I cannot change it.  The existing value is required to build the link correctly.  How do I get Zend to permit it through routing, i.e. to make the placeholder "greedy"?  Do I need to base64 encode/decode it in and out to make it acceptable?

 

--Joe