我正在尝试使用.htaccess
文件将我的网址之一重定向到父文件夹。我尝试了以下规则
RewriteRule ^test/(.+)$ /test/ [L,R=301]
从htaccess wildcard redirect to parent folder找到,但无法正常工作(日志显示重定向过多)。
我也尝试了下面的其他规则,但没有一个起作用
RewriteBase /
RewriteCond %{REQUEST_URI} !=/test/
RewriteRule ^(.*) /test/ [END,NC]
或
RewriteEngine on
RewriteCond %{ENV:REDIRECT_STATUS} ^$
RewriteRule ^test/(.+)$ /test/ [L,R=301]
操作系统是ubuntu服务器。任何帮助或指针表示赞赏。请让我知道是否可以提供其他任何要调试的细节。谢谢
答案 0 :(得分:1)
考虑到父目录为test
RewriteEngine On
RewriteRule ^(test/).* /$1 [R=301,L]
答案 1 :(得分:1)
添加此项以禁用MultiViews:
Options -MultiViews
Apache docs on mod_negotiation描述了启用多视图选项后的功能:
如果 服务器收到对/ some / dir / foo的请求,而/ some / dir / foo没有 存在,然后服务器读取目录以查找所有名为 foo。*,并有效地伪造了一个将所有这些命名的类型映射 文件,为其分配相同的媒体类型并对其进行内容编码 如果客户要求提供其中一个姓名,则将具有。然后 选择最符合客户要求的匹配项,然后返回 文档。
使用:
Options -MultiViews
RewriteEngine on
RewriteRule ^test/(.+)$ /test/ [NC,L,R=301]
答案 2 :(得分:0)
在您的特定文件夹中
RewriteEngine On
RewriteRule ^rootFName(.*) /rFile.php [QSA,R=301,L]