Php 在几乎自由的言论上使用mod_重写和CodeIgniter

Php 在几乎自由的言论上使用mod_重写和CodeIgniter,php,.htaccess,codeigniter,mod-rewrite,nearlyfreespeech,Php,.htaccess,Codeigniter,Mod Rewrite,Nearlyfreespeech,首先,我要指出,我是一个拥有.htaccess内容和服务器相关内容的大型noob 因此,我用wamp在本地建立了一个网站,并使用了一个.htaccess文件,这是我在谷歌搜索时发现的 <IfModule mod_rewrite.c> RewriteEngine On RewriteBase /my_project_folder_name/ RewriteCond %{REQUEST_URI} ^system.* RewriteRule ^(.*)$ /index.php?/$1 [

首先,我要指出,我是一个拥有.htaccess内容和服务器相关内容的大型noob

因此,我用wamp在本地建立了一个网站,并使用了一个.htaccess文件,这是我在谷歌搜索时发现的

<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /my_project_folder_name/

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>

重新启动发动机
重写基本/我的项目\u文件夹\u名称/
重写COND%{REQUEST_URI}^系统*
重写规则^(.*)$/index.php?/$1[L]
重写cond%{REQUEST_URI}^应用程序*
重写规则^(.*)$/index.php?/$1[L]
重写cond%{REQUEST_FILENAME}-F
重写cond%{REQUEST_FILENAME}-D
重写规则^(.*)$index.php?/$1[L]
我显然用真实的文件夹名替换了“我的项目文件夹名”。这在我的本地服务器上非常有效。我决定上传到我几乎言论自由的服务器上,我在修改mod_时遇到了一些麻烦。我不知道应该用什么来替换“我的项目”和“文件夹”的名称,我无法让它工作。我试着将它留空,这是有效的,但由于某种原因,这导致了一个错误,阻止了我的脚本接收POST数据。好吧,我想这就是引起这个错误的原因


有人能给我指一下正确的方向吗?

为了帮助我,请检查一下

  • 检查apache设置是否重写\u模块设置是否正确

  • 如果文件夹名由两个单独的单词组成,如“XYZ ABC”,请尝试“XYZ_ABC”,并对.htaccess文件执行相同的操作

  • 查看它属于codeigniter(PHP框架)的文件。因此,如果你不使用它,那么尝试使用

    <IfModule mod_rewrite.c>
        RewriteEngine On
        RewriteBase /my_project_folder_name/
        RewriteCond %{REQUEST_FILENAME} !-f
        RewriteCond %{REQUEST_FILENAME} !-d
        RewriteRule ^(.*)$ index.php?/$1 [L]
    </IfModule>
    
    
    重新启动发动机
    重写基本/我的项目\u文件夹\u名称/
    重写cond%{REQUEST_FILENAME}-F
    重写cond%{REQUEST_FILENAME}-D
    重写规则^(.*)$index.php?/$1[L]
    

  • 希望你的问题能得到解决:)

    谢谢你的建议。事实证明,我是对的,将其留空,因为网站位于根目录,而不是像wamp上那样位于子文件夹中。因此,当我提交表单时,问题似乎是一个不必要的重定向,因此没有POST数据。