1和1 htaccess错误

时间:2011-08-16 00:51:57

标签: .htaccess

注释掉的谷歌重定向工作正在运行,但其余规则根本不起作用。

它会自动给我500个内部服务器错误。这只发生在1and1服务器上。

RewriteEngine On
Options FollowSymLinks

# RewriteRule ^(.*)$ http://www.google.com/$1 [r=301,nc]

RewriteRule ^(ajax)/([a-zA-Z0-9-z\-]+)$ http://mysite.com/index.php?ajax=$2 [r=301,nc] 

RewriteRule ^([a-zA-Z0-9-z\-]+)/([a-zA-Z0-9-z\-]+)$ http://mysite.com/index.php?page=$1&subPage=$2
RewriteRule ^([a-zA-Z0-9-z\-]+)/([a-zA-Z0-9-z\-]+)/$ http://mysite.com/index.php?page=$1&subPage=$2

RewriteRule ^repairs/([a-zA-Z0-9-z\-]+)/([a-zA-Z0-9-z\-]*)$ http://mysite.com/repairs-engine.php?page=repairs&subPage=$1&pitem=$2

RewriteRule ^([a-zA-Z0-9-z\-]+)$ http://mysite.com/index.php?page=$1
RewriteRule ^([a-zA-Z0-9-z\-]+)/$ http://mysite.com/index.php?page=$1

有什么想法吗?

由于

2 个答案:

答案 0 :(得分:1)

  1. 有关确切的错误说明,您应该检查Apache的错误日志。

  2. 这种模式应该是什么意思[a-zA-Z0-9-z\-] ??这绝对是错的。它应该是[a-zA-Z0-9\-] - 我很确定这是 错误的原因。

  3. 备注:

    1. 如果使用[NC]标记,则无需a-zA-Z - 只需a-z即可。

    2. 如果进行重写(内部重定向,当URL在浏览器的地址栏中更改)而没有正确的重定向(301,302等),则无需使用完整的域名。

    3. 无论如何,我建议在所有规则中添加[L]标志 - 它会加快处理速度。

答案 1 :(得分:0)

你有没有试过逃避char类块中的最后一个破折号?

像这样:

^([A-ZA-Z0-9 - ] +)$