我有这样的网址:
www.qwerty.in/details.php?vendor_id=1&name=abcd%20cafe
我试图在.htaccess文件的帮助下如下所示:
www.qwerty.in/1/abcd-cafe
我正在尝试以下但不幸的是它不起作用。任何人都可以帮忙
RewriteRule ^([a-zA-Z0-9_-]+)/([a-zA-Z0-9_-]+)$ details.php?vendor_id=$1&name=$2
答案 0 :(得分:2)
你的角色也必须允许空间:
RewriteRule ^([\w-]+)/([\w-\s]+)$ details.php?vendor_id=$1&name=$2 [L,QSA]
我使用了\w
,与[a-zA-Z0-9_]
相同。
答案 1 :(得分:0)
以下规则会将您的网址从www.qwerty.in/details.php?vendor_id=1&name=abcd%20cafe
转换为www.qwerty.in/1/abcd%20cafe
:
RewriteRule ^([^/]*)/([^/]*)\.html$ /details.php?vendor_id=$1&name=$2 [L]
它更加概括,并且即使它们不是vendor_id
或name
,也会转换前两个参数值。如果这不是您喜欢的行为,请查看anubhava's answer。
使用以下方法可以实现将空格转换为下划线:
RewriteRule ^(.*)\s(.*)$ $1_$2 [N]
另外,不要忘记确保重写引擎在线:
RewriteEngine On
如果您想进一步试验这些规则,我建议您最近发现一个网站:http://www.generateit.net/mod-rewrite/