在此之前,我将指出,我是一个拥有.htaccess内容和服务器相关内容的大傻瓜。
所以我用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>
很明显,我用真正的文件夹名称替换了"my_project_folder_name"。这在我的本地服务器上运行得很好。我决定把这个网站上传到我的"几乎免费语音"服务器上,我在mod_rewrite上遇到了一些问题。我不知道应该用什么来代替"my_project_folder_name",而且我无法让它发挥作用。我试着把它留空,这很有效,但由于某种原因,这导致了一个错误,阻止了我的脚本接收POST数据。好吧,我想这就是导致错误的原因。
有人能告诉我正确的方向吗?
为了获得帮助,只需检查即可。
-
检查apache设置是否为rewrite_module设置是否正确?
-
如果您的文件夹名称由两个单独的单词组成,如"XYZ ABC",请尝试"XYZ_ABC",并对.htaccess文件执行同样的操作。
-
查看它属于codeigniter(PHP FRAMEWORK)的文件。所以,如果你不使用它,那么试着使用。。
<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>
希望你的问题能得到解决。:)