我有.htaccess文件,它根据检测到的传入URI并使用" index.php"前缀成功地重定向请求。对于Codeigniter,像这样:
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的任何请求被修改吗?
提前感谢任何建议。
答案 0 :(得分:0)
要排除以mymodule
开头的任何内容,请在RewriteRule
RewriteCond %{REQUEST_URI} !^/mymodule
另一种方法(虽然我还没试过这个)可能是关闭mod_rewrite
指令中的Location
<Location /mymodule>
SetHandler mod_my-handler
RewriteEngine off
</Location>