简体   繁体   English

htaccess用查询字符串重写规则seo友好url

[英]htaccess rewrite rule seo friendly url with query string

I want SEO friendly urls with query string using .htaccess and get values in php $_GET variable 我想要使​​用.htaccess的查询字符串进行SEO友好的url,并在php $ _GET变量中获取值

http://localhost/blog/categoryslug/postslug/?rf=1234&key=ad2312 HTTP://本地主机/博客/ categoryslug / postslug / RF = 1234&键= ad2312

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^blog/([0-9a-zA-Z-]+)/([0-9a-zA-Z-]+?)/?$ /blog/detail.php?cat_slug=$1&slug=$2 [L]

but on print_r, I get only 2 keys: 但是在print_r上,我只有2个键:

print_r($_GET); exit;

Array
(
    [cat_slug] => categoryslug
    [slug] => postslug
)

while, I need all the keys and values with in query string like this: 同时,我需要在查询字符串中带有以下所有键和值:

 Array
 (
    [cat_slug] => categoryslug
    [slug] => postslug
    [rf] => 1234
    [key] => ad2312
 )

Please help me out to resolve this 请帮我解决这个问题

TIA TIA

Try with below, I added QSA flag to append the original incoming query to your request. 在下面尝试,我添加了QSA标志以将原始传入查询附加到您的请求中。

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^blog/([0-9a-zA-Z-]+)/([0-9a-zA-Z-]+?)/?$ /blog/detail.php?cat_slug=$1&slug=$2 [L,QSA]

Try this code: 试试这个代码:

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^blog/([0-9a-zA-Z-]+)/([0-9a-zA-Z-]+?)\?(.*)/?$ /blog/detail.php?cat_slug=$1&slug=$2&$3 [L]

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM