htaccess 重写规则 seo 友好 url 与查询字符串
htaccess rewrite rule seo friendly url with query string
我想要使用 .htaccess 的带有查询字符串的 SEO 友好 URL,并在 php $_GET 变量
中获取值
http://localhost/blog/categoryslug/postslug/?rf=1234&key=ad2312
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^blog/([0-9a-zA-Z-]+)/([0-9a-zA-Z-]+?)/?$ /blog/detail.php?cat_slug=&slug= [L]
但是在 print_r 上,我只有 2 个键:
print_r($_GET); exit;
Array
(
[cat_slug] => categoryslug
[slug] => postslug
)
同时,我需要查询字符串中的所有键和值,如下所示:
Array
(
[cat_slug] => categoryslug
[slug] => postslug
[rf] => 1234
[key] => ad2312
)
请帮我解决这个问题
TIA
试试这个代码:
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^blog/([0-9a-zA-Z-]+)/([0-9a-zA-Z-]+?)\?(.*)/?$ /blog/detail.php?cat_slug=&slug=& [L]
试试下面的方法,我添加了 QSA
标志以将原始传入查询附加到您的请求中。
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^blog/([0-9a-zA-Z-]+)/([0-9a-zA-Z-]+?)/?$ /blog/detail.php?cat_slug=&slug= [L,QSA]
我想要使用 .htaccess 的带有查询字符串的 SEO 友好 URL,并在 php $_GET 变量
中获取值http://localhost/blog/categoryslug/postslug/?rf=1234&key=ad2312
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^blog/([0-9a-zA-Z-]+)/([0-9a-zA-Z-]+?)/?$ /blog/detail.php?cat_slug=&slug= [L]
但是在 print_r 上,我只有 2 个键:
print_r($_GET); exit;
Array
(
[cat_slug] => categoryslug
[slug] => postslug
)
同时,我需要查询字符串中的所有键和值,如下所示:
Array
(
[cat_slug] => categoryslug
[slug] => postslug
[rf] => 1234
[key] => ad2312
)
请帮我解决这个问题
TIA
试试这个代码:
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^blog/([0-9a-zA-Z-]+)/([0-9a-zA-Z-]+?)\?(.*)/?$ /blog/detail.php?cat_slug=&slug=& [L]
试试下面的方法,我添加了 QSA
标志以将原始传入查询附加到您的请求中。
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^blog/([0-9a-zA-Z-]+)/([0-9a-zA-Z-]+?)/?$ /blog/detail.php?cat_slug=&slug= [L,QSA]