htaccess 重写规则以将变量信息发送到脚本但显示干净 url

htaccess Rewrite rule to send variable info to script but display clean url

我想做的是当 URL 喜欢

http://localhost/sandbox/jcsearch/country/countryname

是我要指向的用户输入的

http://localhost/sandbox/jcsearch/index.php?country=countryname

但仍保留地址栏中原来干净的URL即

http://localhost/sandbox/jcsearch/country/countryname

这可能吗?它会创建任何类型的重定向循环吗?

重写将发生如下:

RewriteEngine on
RewriteRule ^sandbox/jcsearch/([^/]+)/([^/]+)$ sandbox/jcsearch/index.php?= [L,NC]

因为 RewriteRule 指令没有设置重定向标志 (R),所以它不会更改浏览器地址栏中的 URL。所以,通过访问

http://localhost/sandbox/jcsearch/country/countryname

用户将在内部重定向到:

http://localhost/sandbox/jcsearch/index.php?country=countryname

请注意:您必须将重写规则放在服务器根目录的 htaccess 文件中。