笨奇怪的问题,与斜线的工作有些链接一些多年平均值(Codeigniter strange issue

2019-10-17 14:08发布

我m具有奇怪的问题。 我有一个笨应用程序,它在我的本地机器完全正常工作,但在远程服务器上它亘古不变的。 以下是场景

  1. 与斜线的作品有些联系,但没有结尾斜线显示了Firefox中“连接被重置”的错误。

  2. 无斜线的作品有些联系,但尾随的斜线显示了Firefox中“连接被重置”的错误。

我敢肯定有编码,因为没有错误。 所有我认为罪魁祸首是.htaccess文件。 以下是我的.htaccess文件

RewriteEngine on
RewriteBase /demo/
RewriteCond $1 !^(index\.php|resources|robots\.txt)
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php/$1 [L,QSA]

任何帮助将得到高度赞赏。 谢谢!

Answer 1:

我相信你的问题是缺少“?” 在这条线:

RewriteRule ^(.*)$ index.php/$1 [L,QSA]

增加这个“?” 后直接“的index.php”

RewriteRule ^(.*)$ index.php?/$1 [L,QSA]

此外,在我的经验,我想撇下尾随斜线上RewriteBase并把它添加到$配置[“BASE_URL”]参数,让CI做的工作,为你,而不是:

$config['base_url'] = 'http://yourwebsite.com/demo/';
-instead of-
$config['base_url'] = 'http://yourwebsite.com/demo';

这是的.htaccess设置我用与CI一段时间,它使我受益匪浅:

<IfModule mod_rewrite.c>
  RewriteEngine On
  RewriteBase / # TODO: add a folder name here if the application is not in web root

  RewriteCond %{REQUEST_URI} ^system.*
  RewriteRule ^(.*)$ /index.php?/$1 [L]

  RewriteCond %{REQUEST_URI} ^application.*
  RewriteRule ^(.*)$ /index.php?/$1 [L]

  RewriteCond %{REQUEST_FILENAME} !-f
  RewriteCond %{REQUEST_FILENAME} !-d
  RewriteRule ^(.*)$ index.php?/$1 [L]
</IfModule>

<IfModule !mod_rewrite.c>
  # If we don't have mod_rewrite installed, all 404's
  # can be sent to index.php, and everything works as normal.
  # Submitted by: ElliotHaughin

  ErrorDocument 404 /index.php
</IfModule> 


文章来源: Codeigniter strange issue, Some link with trailing slash work some doesnot