我们的第三方提供商已在codeigniter网站内创建了一个codeigniter网站。
这意味着:
1:我们有CI案例文件夹的标准应用程序文件夹。
2:在里面我们有admin文件夹,它是CI基本文件夹的副本。将其视为有人在代码点火器中复制codeigniter,将CI重命名为' admin'。
我们的nginx.conf如下:
worker_processes auto;
worker_rlimit_nofile 1035;
pid /usr/local/var/run/nginx.pid;
events {
worker_connections 1024;
multi_accept on;
use kqueue;
}
http {
include mime.types;
server{
listen 80;
server_name localhost ;
access_log /usr/local/etc/nginx/logs/default.access.log ;
error_log /usr/local/etc/nginx/logs/default.error.log ;
#root /Users/rishi/appiness/rishijfh;
root /Users/rishi/appiness/JobsForHer-PHP;
index index.php index.html;
location / {
try_files $uri $uri/ /index.php?args;
}
location ~ \.php$ {
include fastcgi_params;
include fastcgi.conf;
fastcgi_pass 127.0.0.1:9000;
}
}
CI /应用程序文件夹的.htaccess文件具有以下内容:
<IfModule mod_rewrite.c>
RewriteEngine on
RewriteCond $1 !^(index\.php|images|robots\.txt)
RewriteRule ^(.*)$ index.php/$1 [L]
</IfModule>
CI / admin / application文件夹的.htaccess文件具有以下内容:
<IfModule mod_rewrite.c>
RewriteEngine on
RewriteCond $1 !^(index\.php|images|robots\.txt)
RewriteRule ^(.*)$ index.php/$1 [L]
</IfModule>
CI /应用程序正常,但CI / admin / aplication会抛出404错误。
我有很多搜索并在下面尝试过 https://www.quora.com/How-do-I-solve-CodeIgniters-404-not-found-error http://www.arifulhaque.com/codeigniter-htaccess-and-index-php-issues-solution/
没有一个解决方案适合我们。请帮忙。
答案 0 :(得分:0)
可能是因为&#34;外部&#34; CI正在尝试将管理员作为控制器进行查找,而不是浏览器潜入该文件夹。
在&#34;外部&#34;中尝试这些重写条件。在实际重写之前的CI(不在应用程序文件夹中,但在根目录中):
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
它应该看起来像这样(在这里复制我的):
<IfModule mod_rewrite.c>
RewriteEngine On
# Removes trailing slashes (prevents SEO duplicate content issues)
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_METHOD} !POST
RewriteRule ^(.+)/$ $1 [L,R=301]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php/$1 [L,QSA]
</IfModule>
<IfModule !mod_rewrite.c>
ErrorDocument 404 /index.php
</IfModule>