我试图在托管上测试codeigniter proyect;它没有问题的索引页面,但我有一个通过ajax请求发送数据的联系表单,在这里:
$('#send_mail').submit(function(e) {
e.preventDefault();
$.ajax({
url: baseurl+'email/send',
type: 'POST',
dataType: 'json',
data: $(this).serialize()
})
.done(function() {
console.log("success");
})
.fail(function() {
console.log("error");
})
.always(function() {
console.log("complete");
});
});
当我提交联系表单时,我收到此错误:
POST http://novaderma.cl/site/email/send 404 (Not Found) jquery.min.js:4
我一直在网上搜索,而其他人在使用.htacces
文件和base_url
参数时遇到类似问题,所以我也会发布这些问题,在这里:
配置文件
$config['base_url'] = 'http://novaderma.cl/site/';
$config['index_page'] = 'index.php';
的.htaccess
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /site/
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php/$1 [L]
</IfModule>
我不知道如何解决这个问题,所以请帮帮我!!
答案 0 :(得分:1)
您的站点服务器适用于Windows上的IIS,因此.htaccess无法提供帮助,因为它适用于Apache服务器。
您需要在web.config
文件夹中创建site
文件,然后填写以下规则:
<rewrite>
<rules>
<rule name="Clean URL" stopProcessing="true">
<match url="^(.*)$" />
<conditions>
<add input="{REQUEST_FILENAME}" matchType="IsFile" negate="true" />
<add input="{REQUEST_FILENAME}" matchType="IsDirectory" negate="true" />
</conditions>
<action type="Rewrite" url="/site/index.php/{R:1}" appendQueryString="true" />
</rule>
</rules>
</rewrite>
答案 1 :(得分:-1)
`
RewriteEngine On
RewriteBase /site/
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php?/$1 [L]
`
检查此代码