【发布时间】:2017-02-21 19:10:51
【问题描述】:
我有 .htaccess 文件,该文件基于检测传入的 URI 并为 Codeigniter 以“index.php”为前缀成功地重定向请求,如下所示:
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php?/$1 [L]
我现在只是构建自定义 Apache 模块,我需要排除对该模块的任何 URI 请求。我的 httpd.conf 将显示如下内容:
LoadModule my_module modules/libmod_my.so
<Location /mymodule>
SetHandler mod_my-handler
</Location>
这应该可以正常工作,但是 .htaccess 规则会捕获对 /mymodule 的任何请求并将其转换为 /index.php/mymodule
.htaccess 规则确实成功绕过对有效文件(图形、css、js 等)的任何请求。
修改 .htaccess 以使其绕过任何这样的请求的最佳方法是什么:
http://localhost/mymodule/function
这样对 /mymodule 的任何请求都不会被修改?
提前感谢您的任何建议。
【问题讨论】:
-
谢谢,但这没有用。这里的“模块”请求中没有任何内容。这只是 .so 文件所在的位置,并且在 httpd.conf 的 LoadModule 指令中被引用,这不是更适合查看 REQUEST_URI 并查看它是否以“mymodule”开头吗?
标签: apache .htaccess mod-rewrite