.htaccess的内部服务器错误问题

时间:2014-09-16 18:04:24

标签: .htaccess

我的.htaccess问题 这里是内容

RewriteEngine on
RewriteBase /repo/repo1
RewriteRule ^(Packages.*|Release.*|.+\.deb|CydiaIcon\.png|uploads\/[^\/]+|[a-z]{2}(_[A-Z]{2})?\.bz2)$ admin/api/rewrite.php?file=$1
RewriteRule ^(debs|depiction|stats)\/?(.*)$ admin/$1/$2
IndexIgnore *
php_value auto_append_file none
php_value upload_max_filesize 200M
php_value post_max_size 200M

它给我这个错误

Internal Server Error

但是当我删除它 我的页面工作正常

我认为语法有问题,但我无法弄清楚:( 任何建议?

修改 我的错误日志

[Tue Sep 16 13:11:54 2014] [error] [client 79.82.250.27] File does not exist: /home/idevteam/public_html/betarepo/500.shtml
[Tue Sep 16 13:11:54 2014] [alert] [client 79.82.250.27] /home/idevteam/public_html/betarepo/repo/repo1/.htaccess: RewriteRule: cannot compile regular expression '^(Packages.*|Release.*|.+\\.deb|CydiaIcon\\.png|uploads)\\/[^\\/]+|[a-z]{2}(_[A-Z]{2})?\\.bz2)$'

2 个答案:

答案 0 :(得分:1)

这是错误的相关部分:

  

RewriteRule:无法编译正则表达式' ^(包。 | Release。 |。+ \。deb | CydiaIcon \ .png | uploads)\ / [^ \ /] + | [AZ] {2}(_ [AZ] {2})\ BZ2)$'?

这里有一些问题。虽然这不是导致错误的原因,但您可能不希望这些双反斜杠(这意味着您真的想要匹配反斜杠),因为您想要转义.& #39;而是:

^(Packages.*|Release.*|.+\.deb|CydiaIcon\.png|uploads)\/[^\/]+|[a-z]{2}(_[A-Z]{2})?\.bz2)$

接下来,这可能导致错误,你的括号不匹配。最后一个)并不匹配任何内容。你可能想要在第一个/之后立即打开一个父母,制作一个可选的"或者#34;使用下一个|

^(Packages.*|Release.*|.+\.deb|CydiaIcon\.png|uploads)\/([^\/]+|[a-z]{2}(_[A-Z]{2})?\.bz2)$

答案 1 :(得分:0)

我发现包装它就像这对我有用:

<IfModule mod_php5.c>
php_value upload_max_filesize 64M
php_value post_max_size 64M
php_value max_execution_time 500
php_value max_input_time 500
</IfModule>