2
我是一個新手。我想在窗體上轉換的URL重寫規則:.htaccess RewriteRule for abc/xyz/myfile?s = t
abc/xyz/myfile?s=t
到
index.php?id=abc&a=xyz&b=myfile.xml&s=t
ABC是一個固定的前綴。 xyz,myfile和查詢字符串被反向引用。
這是.htaccess文件:
RewriteEngine On
RewriteRule ^abc/([_0-9a-z]+)/([_0-9a-z]+)\?(.+)$ index.php?id=abc&a=$1&b=$2.xml&$3 [NC]
它不工作。我調試用下面的perl腳本重寫規則:
#!perl
use strict;
use autodie;
$_ = "abc/xyz/myfile?s=t";
if (/^abc\/([_0-9a-z]+)\/([_0-9a-z]+)\?(.+)$/) {
print "index.php?id=abc&a=$1&b=$2.xml&$3";
}
輸出是:
index.php?id=abc&a=xyz&b=myfile.xml&s=t
爲什麼沒有.htaccess文件的工作?
編輯:似乎結果URL中的最後一個參數(s = t)被忽略。