CakePHP框架会把urls重写对自己的友好的urls,适合MVC项目的实施。假如有某一目录不需要CakePHP重写,假如没有重新定义.htaccess将无法访问此目录。假如配置环境为php fastCGI可能会出现:No input file specified.错误。
这时可以自己为.htaccess加一段代码,告诉服务器不转发此子目录即可,这时需要注意的是,此子目录的名称不能为CakePHP Controller的名称(name值)。
修改网站主目录中.htaccess如下(本人使用的CakePHP版本为,最新的CakePHP稳定版:1.2.2.8120 Stable):
# 不重写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加以修改。代码如下:
# 不转发带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博客是专注于网站建设,搜索引擎研究,网站推广,网站优化的IT博客。
很早以前我也用过这个