我正在使用.htaccess重定向一堆URI以删除尾部斜杠并使用以下规则提供我正在处理的特定网站的主页:
RewriteEngine ON
# for homepage section URIs, redirect to remove trailing slash
RedirectMatch 301 ^(/?)(hero|night|entertainment|ticket-info|sponsors|charities|work|committee)/$ $1$2
# serve homepage
RewriteRule ^/?(hero|night|entertainment|ticket-info|sponsors|charities|work|committee)$ index.html [L]
但是,还有一个名为ticket-info
的文件夹,我希望能够从那里提供文件,例如/ticket-info/img.jpg或/ ticket-info / buy /
Apache会自动添加尾部斜杠并尝试提供目录索引。我想仅为/ ticket-info和/ ticket-info / routes禁用此行为(但保持该目录和网站其余部分中的任何其他文件的默认行为)。我尝试通过添加以下规则来执行此操作,但它返回内部服务器错误。
# don't add slash even if directory exists
<Location /ticket-info/>
DirectorySlash Off
SetHandler some-handler
</Location>
我需要添加哪些规则来禁用仅为此路由添加斜杠,但在其他地方保留默认行为?
答案 0 :(得分:0)
如果/ticket-info
是一个目录,请在其中创建一个htaccess文件:
DirectorySlash off
SetHandler some-handler
您无法在htaccess文件中使用<Location>
容器:http://httpd.apache.org/docs/2.2/mod/core.html#location