Apache .htaccess mod_rewrite刚刚破坏了网站

Apache .htaccess mod_rewrite刚刚破坏了网站,apache,.htaccess,mod-rewrite,Apache,.htaccess,Mod Rewrite,在以下.htaccess文件中 RewriteEngine on RewriteCond %{HTTP_HOST} ^getpearson.com$ RewriteRule ^/?$ "http\:\/\/www\.getpearson\.com" [R=301,L] RewriteCond %{REQUEST_FILENAME} !-d RewriteCond %{REQUEST_FILENAME}\.php -f RewriteRule ^(.*)$ $1.php RewriteCond

在以下.htaccess文件中


RewriteEngine on
RewriteCond %{HTTP_HOST} ^getpearson.com$
RewriteRule ^/?$ "http\:\/\/www\.getpearson\.com" [R=301,L]
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME}\.php -f
RewriteRule ^(.*)$ $1.php

RewriteCond %{REQUEST_FILENAME} -f
RewriteRule ^ - [L]
RewriteRule ^redesign_03012010/mock-up/([^/]+)/([^/]+)$ /redesign_03012010/mock-up/index.php?page=$1§ion=$2 [PT]
RewriteRule ^redesign_03012010/mock-up/([^/]+)$ /redesign_03012010/mock-up/index.php?page=$1 [PT]

RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^([^/]+)/([^/]+)$ /index.php?test=1&page=$1§ion=$2
RewriteRule ^([^/]+)$ /index.php?test=1&page=$1 [L]

我删除了以下内容中的最后3行:


RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^([^/]+)/([^/]+)$ /index.php?test=1&page=$1§ion=$2
RewriteRule ^([^/]+)$ /index.php?test=1&page=$1 [L]
致:

…因此,只删除'test=1&'url变量,而现在它没有werkie。。。这个疯狂的行话的逻辑是什么?这让我很难受。无论如何,我做了一个php的工作,直到我能弄明白这一点,所以不用担心,但请帮助!谢谢

卢卡斯, 我想你是最后两条规则在模式之前缺失了。同时也去掉[PT]在这种情况下不合适

RewriteRule ^/([^/]+)/([^/]+)$ /index.php?test=1&page=$1&section=$2
RewriteRule ^/([^/]+)$ /index.php?test=1&page=$1 [L]
汤姆

“不,沃基”有点含糊。。。您对规则所做的编辑似乎很好。也许index.php页面希望“test”变量存在,如果不存在,它将崩溃


与其从查询字符串中删除“test”变量,不如尝试将“test=1”改为“test=0”。

index.php
文件中听起来像是个问题,而不是
.htaccess
。如果不使用
test=1而直接访问
index.php
而不是通过重写的URL,会发生什么情况?我怀疑它被配置为在这种情况下抛出500个错误。

经常使用它是有效的,只是不适用于该目录我删除了修改的最后3行:我应该修改的最后3行来自:@Lucas-你有没有可能将文件作为二进制文件而不是文本上传?可能是文件中的windows换行符正在中断.htaccess文件。Apache对这些文件非常挑剔——一个小错误,你会在网站的每个页面上看到500个错误。。。非常简单,实际上与php_tidy_解析有关。。。由于&;相对于一个?。。。正如迈克尔·博尔顿(michael bolton)所言,这总是“一些平凡的细节”。哥们,冷静点,评论吧。你可以编辑一段时间,而不是快速连续地发布一堆,而且真的没有必要说“哦…等等…”之类的话。“真的没有必要说“哦…等等…””之类的话。“为什么不呢,你真的想让我在意识到我这方面可能没问题的时候浪费你的时间吗?
RewriteRule ^/([^/]+)/([^/]+)$ /index.php?test=1&page=$1&section=$2
RewriteRule ^/([^/]+)$ /index.php?test=1&page=$1 [L]