我花了最后10个小时来弄清楚我做错了什么但不幸的是到目前为止没有效果......
所以这就是我的情况:
RewriteRule ^party/(.*)$ party.php?party=$1 [L]
是我在htaccess中清理网址的工作规则
它工作得很好,但现在我在$ _GET参数中有一些特殊的字符,例如*
未转换,但管道符号会转换为%7C
。
我检查了party.php?party=$1
并正确显示了所有字符,所以我猜我的htaccess语法导致失败....
我也试过[NE]
标志,但它不起作用......
任何想法? 非常感谢你!
我也刚刚意识到网址在mozilla中正确显示...
答案 0 :(得分:0)
我用:
Options +FollowSymlinks
RewriteEngine On
RewriteBase /
RewriteCond %{HTTP_HOST} ^(.+)?\.testynarkotykowe.xernt.com$ [NC]
RewriteRule ^(.*)$ http://testynarkotykowe.pl/$1 [R=301,L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule (.*) index.php
加你做。
function sUrl() {
$_GET = explode('/',substr(getenv('REQUEST_URI'),1)); $_pth = PTH;
if(!empty($_pth)) {
$pth = explode('/',PTH);
for($i = 0; $i < count($_GET); $i++) if($_GET[$i] == $pth[$i]) unset($_GET[$i]);
array_splice($_GET,0,0);
} foreach($_GET as $k=>$v) $_GET[$k] = htmlspecialchars($v); /* SECURITY: check for addslashes */
}
}