1

我想知道是否有人可以为我提供典型规则,以便在请求资源时根据所需的内容类型提供适当的文件。更具体地说,这里是我的情况:

我有一个 purl URL,我重定向到我的 apache 服务器上的 URL。我希望资源 URL 类似于资源的通用 URL,然后根据内容类型提供适当的文档:RDF、TTL 或 HTML。

因此,我想知道如何在 .htaccess 文件中执行此操作。任何人都可以在这里帮忙吗?

非常感谢

4

1 回答 1

0

好吧,这就是我所做的。

我在一个免费的托管网站上托管我的词汇表,该网站允许操作 .htacess 文件。

在那个文件上,我根据http://www.essepuntato.it/lode的说明写了一些规则,顺便说一下,遵循 http://www.w3.org/TR/swbp-vocab-pub/的说明. 我只是想要一些东西来即时生成我的 HTML。

这是我的 .htaccess 文件内容:

# Do not remove this line, otherwise mod_rewrite rules will stop working
RewriteBase /

# Rewrite engine setup<br/> 
RewriteEngine On


AddType application/rdf+xml .owl

AddType application/rdf+xml .rdf .owl

AddType text/turtle .ttl

# Rewrite rule to serve HTML content<br/>

RewriteCond %{HTTP_ACCEPT} !application/rdf\+xml.*(text/html|application/xhtml\+xml)
RewriteCond %{HTTP_ACCEPT} text/html [OR]
RewriteCond %{HTTP_ACCEPT} application/xhtml\+xml [OR]
RewriteCond %{HTTP_USER_AGENT} ^Mozilla/.*
RewriteRule ^CommitmentOntology$ http://www.essepuntato.it/lode/http://theoceanopeninteractioninfrastructure.webege.com/CommitmentOntology [R=303,L]

# Rewrite rule to serve RDF/XML content if requested
RewriteCond %{HTTP_ACCEPT} application/rdf\+xml
RewriteRule ^CommitmentOntology$ CommitmentOntology.owl [R=303]

# Choose the default response
RewriteRule ^CommitmentOntology$ CommitmentOntology.owl [R=303]

但是我有另一个级别的间接,因为我使用 purl 地址,因为它可以在本体中看到(本体 ID)

这是 Purl 上的重定向:

id: /net/OceanOIS-Commitments 
type: 303
seealso: http://theoceanopeninteractioninfrastructure.webege.com/CommitmentOntology
maintainers: Maatari

我不知道它是否完全正确,但它有效。使用浏览器,我得到即时生成的 HTML,使用适当的休息客户端或 wget,我得到 xml+rdf

于 2014-05-10T22:29:14.457 回答