在以下.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]
为:
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^([^/]+)/([^/]+)$ /index.php?page=$1§ion=$2
RewriteRule ^([^/]+)$ /index.php?page=$1 [L]
...因此只删除'test = 1&' url变量,现在它没有werkie ...这个疯狂的htaccess术语的逻辑是什么?它让我很难过。无论如何,我做了一个PHP解决方案,直到我能想到这一点,所以没有后顾之忧,但请帮忙!谢谢!
答案 0 :(得分:2)
“没有werkie”有点模糊......你对规则的编辑似乎很好。也许index.php页面期望“test”变量存在并且如果不存在则会崩溃?
不要从查询字符串中删除“test”变量,而是尝试将“test = 1”更改为“test = 0”。
答案 1 :(得分:0)
卢卡斯 我认为你最后两条规则在模式之前缺少了/。并且取出[PT]在这种情况下它是不合适的。
RewriteRule ^/([^/]+)/([^/]+)$ /index.php?test=1&page=$1§ion=$2
RewriteRule ^/([^/]+)$ /index.php?test=1&page=$1 [L]
汤姆
答案 2 :(得分:0)
您的index.php
文件中存在问题,而不是.htaccess
。如果您直接访问index.php
而没有test=1
而不是通过重写的网址,会发生什么?我怀疑它被配置为在这种情况下抛出500错误。