当某些东西是目录时,如何将htaccess从域/某物重定向到域/某物/?

时间:2013-12-05 19:23:54

标签: apache .htaccess mod-rewrite redirect

我有一个测试域,让我们说http://example.com/

然后我在http://example.com/cd/中有一个名为“cd”的目录 - 此链接完全正常

但是我也希望得到http://example.com/cd(没有尾随斜杠链接)才能正常工作

我搜索了很多,但没有找到任何有效的解决方案,我来到这里,但直到不工作......

编辑:

RewriteEngine On
DirectorySlash On
RewriteRule ^/?cd(.*)$ /cd/$1 [R]

任何提示我做错了什么或怎么做? :)

PS:该文件夹具有750的许可权(由所有者&&&Group执行读取和执行) - 但重定向应该是一个问题吗?

编辑:问题是我总是得到403 Forbidden而不是重定向

2 个答案:

答案 0 :(得分:1)

如果cd是真实目录,那么您可能拥有DirectorySlash Off

将此行放在DOCUMENT_ROOT/.htaccesscd/.htaccess个文件的顶部:

DirectorySlash On

还要记住:

  • 您需要权限750而不是650才能使其正常工作
  • DirectorySlash On
  • 上添加cd/.htaccess作为第一行
  • 出于安全原因,您还应保持DirectorySlash On网站范围。

答案 1 :(得分:0)

您必须关闭DirectorySlash,但这样做意味着/cd 的请求将始终显示目录的内容而不是索引文件。这意味着您需要在内部添加斜杠:

Options Indexes
DirectorySlash Off
RewriteEngine on
RewriteRule ^cd$ /cd/ [L]