我运行XAMPP,并试图学习.htaccess如何工作。 我有一个像这样的文件结构:
/parent /foo /bar .htaccess
我只是想改变所有的foo请求,并在它们之后附加一个GET参数。 例如:
foo/ foo/hello.PHP
变成:
bar/?test=yes bar/hello.PHP?test=yes
当我尝试把我的.htaccess文件中的<Directory>指令:
Apache多重写规则
mod_rewrite,.htaccess连接到MysqL数据库
Apache目录closures – 站点中断
<Directory "/foo"> Options +Indexes </Directory>
我得到以下错误日志:
[tue Sep 19 17:23:58.356362 2017] [core:alert] [pid 6336:tid 1900] [client :: 1:60018] C:/xampp/htdocs/parent/.htaccess:<目录不允许在这里
我检查了我的httpd.conf文件,一切正常。 我确定,因为如果我将.htaccess文件的内容改为:
Options -Indexes
它正确显示一个403错误。 如果我用+replace-它显示目录列表。
我究竟做错了什么?
Apache mod Rewrite:如何重写这些URL来制作干净的URL
重写问题 – L(ast)不被尊重?
在htaccess子目录中全部拒绝,而不是覆盖root htaccess中的文件规则
删除CodeIgniter_2.1.4中的index.PHP
<Directory>指令在.htaccess中是不允许的,为了满足你的需求,你甚至不需要在.htaccess中使用。
您可以在站点根(父) .htaccess使用此规则:
RewriteEngine On RewriteCond %{QUERY_STRING} !(?:^|&)test=yes(?:&|$) [NC] RewriteRule ^foo/(.*)$ bar/$1?test=yes [NC,QSA,L]
根据手册, <Directory..在.htaccess是不允许的 。 您只能在服务器配置和虚拟主机中使用它。 你应该使用mod_rewrite来代替。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。