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 文件中。
我想做的是当 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 文件中。