我的.htaccess
中有类似的规则RewriteRule ^ news /([0-9] +)/([0-9] +)/([0-9] +)/(。*)/ $ /?name = $ 4& year = $ 1 &安培; monthnum = $ 2及天= $ 3'/ p>
实施例
http://www.example.com/news/2014/02/25/stackoverflow-is-cool/
现在我需要在后面添加额外的参数,使其看起来像
http://www.example.com/news/2014/02/25/stackoverflow-is-cool/?source=email
我希望得到source
值并尝试以下内容:
RewriteRule ^ news /([0-9] +)/([0-9] +)/([0-9] +)/ ([^ /] *)/ \?source =( 。*) $ /?name = $ 4& year = $ 1& monthnum = $ 2& day = $ 3& source = $ 5
但它不起作用。有什么建议吗?
谢谢。
答案 0 :(得分:1)
我自己没试过,请你试一试
RewriteRule ^news/([0-9]+)/([0-9]+)/([0-9]+)/(.*)/$ /?name=$4&year=$1&monthnum=$2&day=$3 [QSA]
[QSA] Query String Append标志将保留现有的查询字符串。所以你的查询字符串
http://www.example.com/news/2014/02/25/stackoverflow-is-cool/?source=email
应该转换为
/?source=email&name=$4&year=$1&monthnum=$2&day=$3
请试一试。
答案 1 :(得分:0)
尝试
RewriteRule ^news/([0-9]+)/([0-9]+)/([0-9]+)/([^/]*)/\?$ /?name=$4&year=$1&monthnum=$2&day=$3&source=$5
当您获得源值时.....只需使用
$SrcVal = str_replace('source=','',$_GET['source']);