我的服务器子文件夹中的Codeigniter应用程序以及文档根目录中的wordpress安装出现问题.如果我用.htaccess隐藏Codeigniter URL的index.PHP
/codeigniter/.htaccess
DirectoryIndex index.PHP
<IfModule mod_rewrite.c>
RewriteEngine on
RewriteBase /
RewriteCond $1 !^(index\.PHP|user_guide|robots\.txt)
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$index.PHP/$1 [L,QSA]
</IfModule>
<IfModule !mod_rewrite.c>
ErrorDocument 404 index.PHP
</IfModule>
并让wordpress使用RewriteCond%{REQUEST_URI}!^ /(codeigniter)来忽略/codeigniter.*$
/.htaccess
# BEGIN wordpress
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^index\.PHP$- [L]
RewriteCond %{REQUEST_URI} !^/(codeigniter).*$
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.PHP [L]
</IfModule>
然后导航到www.mysite.com/codeigniter/my_controller/my_function,我收到404错误未指定输入文件.我发现here,那增加了一个?在RewriteRule ^(.*)$index.PHP解决了Codeiginiter 404错误之后.
/codeigniter/.htaccess
RewriteRule ^(.*)$index.PHP?/$1 [L,QSA]
但是我现在遇到一个wordpress 404错误,所以看来如果我用index.PHP替换index.PHP吗?在/codeigniter/.htaccess中,/.htaccess中的wordpress重写规则,RewriteCond%{REQUEST_URI}!^ /(codeigniter).* $被忽略.有没有更好的方法来解决这个问题?
提前致谢!
解决方法:
codeigniter目录中的RewriteBase应该显示/ codeigniter /
RewriteBase /codeigniter
否则,对index.PHP的重写最终将进入wordpress的路由器.
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。