我已将CodeIgniter安装到我的WordPress目录中的名称/门户的目录中。如果我访问www.mydomain.com/portal,我可以看到我的默认控制器/视图,这是一个登录页面,但是,如果我尝试登录,我会在www.mydomain.com/auth/login的控制台中获得404错误。
这是我的WordPress .htaccess
# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteCond %{REQUEST_URI} ^/portal [NC]
RewriteRule .* - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>
# END WordPress
和我的Codeigniter main .htaccess文件
<IfModule mod_rewrite.c>
RewriteEngine on
# Send request via index.php
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php/$1 [L]
</IfModule>
我该如何工作?
Codeigniter 3,WordPress 4.6.3,PHP7。
您只需要在index.php之后添加问号:
RewriteRule ^(.*)$ index.php?/$1 [L]
所以完整的东西(在您的Codeigniter .htaccess文件中,就像:
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php?/$1 [L]
</IfModule>
1)wordpress .htaccess
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^index.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>
2)codeigniter .htaccess
RewriteEngine on
RewriteCond $1 !^(index.php|resources|robots.txt)
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php/$1 [L,QSA]
3)并在您的配置文件中更改,即Portal/application/config/config.php -$ config ['base_url']
$config['base_url'] = '/portal';
这对我来说是工作的,您将尝试一下。