保定网站建设,网站推广,网站优化服务,保定专业的PHP网站制作机构!

CAKEPHP .htaccess不重写某子目录或文件

发表于:2009年04月13日 21时  作者:dx_andy

CakePHP框架会把urls重写对自己的友好的urls,适合MVC项目的实施。假如有某一目录不需要CakePHP重写,假如没有重新定义.htaccess将无法访问此目录。假如配置环境为php fastCGI可能会出现:No input file specified.错误。

这时可以自己为.htaccess加一段代码,告诉服务器不转发此子目录即可,这时需要注意的是,此子目录的名称不能为CakePHP Controller的名称(name值)。

修改网站主目录中.htaccess如下(本人使用的CakePHP版本为,最新的CakePHP稳定版:1.2.2.8120 Stable):

CakePHP不重写某目录.htaccess

# 不重写subdirectory目录
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteCond %{REQUEST_URI} ^/subdirectory/(.*)$
RewriteRule ^.*$ - [L]
</IfModule>

<IfModule mod_rewrite.c>
RewriteEngine on
RewriteBase /
RewriteRule    ^$ app/webroot/    [L]
RewriteRule    (.*) app/webroot/$1 [L]
</IfModule>

很多站长会将自己的网站加上一个Google网站管理员工具,假如用CakePHP开发的项目,也需要对主目录的.htaccess加以修改。代码如下:

CakePHP Google管理员工具.htaccess

# 不转发带google前缀的目录或文件
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteCond %{REQUEST_URI} ^/google(.*)$
RewriteRule ^.*$ - [L]
</IfModule>

<IfModule mod_rewrite.c>
RewriteEngine on
RewriteBase /
RewriteRule    ^$ app/webroot/    [L]
RewriteRule    (.*) app/webroot/$1 [L]
</IfModule>

 订阅“PHPLAMP博客”方便及时获取网站内容

PHPLAMP博客是专注于网站建设,搜索引擎研究,网站推广,网站优化的IT博客。

“CAKEPHP .htaccess不重写某子目录或文件” 只有1篇评论

  1. 智康博客 says:

    很早以前我也用过这个

发表一下您对本文的意见