2013-02-11 94 views
0

我不知道太多的PHP,但我有自由职业者为我开发一个网站,但现在一旦我上传到我的主机我不能得到它的工作(数据库和一切正常设置)。 当我尝试访问域时,出现500内部服务器错误,但如果我之后键入/index.php,则可以访问该站点。 网站上类别相同的东西,一旦点击它们就会显示错误。 下面是.htaccess的代码,这里是网站网址:http://tinyurl.com/vvcheftHTACCESS 500内部错误

RewriteEngine on 
RewriteCond $1 !^(index\.php|uploads|assets|robots\.txt) 
RewriteRule ^(.*)$ /.../index.php/$1 [L] 
+0

你不能这样做'的RewriteCond $ 1','$ 1'还不存在。 – ceejayoz 2013-02-11 16:19:10

+1

500表示“出错了,你是客户,你不需要知道什么。”在服务器日志中查找真正的错误。 – Quentin 2013-02-11 16:19:56

+0

@ceejayoz这是什么意思:DI真的没有任何想法:D – Mariola 2013-02-11 16:20:14

回答

0

没有必要引用$ 1你的RewriteCond线在哪里。在第2行,删除您在上面发布的代码的$ 1。我相信这应该如你所期望的那样工作。如果没有,请更新并通知我。

+0

刚刚做到了,但发生同样的事情:\ – Mariola 2013-02-11 16:24:50

+0

没有规则在语法上是正确的。 – 2013-02-11 16:25:30

+0

我刚才在错误日志中看到了这个 [Mon Feb 11 09:25:32 2013] [warn] RewriteCond:不支持非正则表达式模式'-f'的NoCase选项,将被忽略。 – Mariola 2013-02-11 16:26:31

0

得到它,它完美的工作,我换成这一个我htaccess文件:

RewriteEngine On 
RewriteCond %{REQUEST_FILENAME} -s [OR] 
RewriteCond %{REQUEST_FILENAME} -l [OR] 
RewriteCond %{REQUEST_FILENAME} -d 
RewriteRule ^.*$ - [NC,L] 
RewriteRule ^(.*)$ /index.php/$1 [NC,L]