我有以下网址: www.mydomain.com/musician.php?musician=musicianname&id=idnumber
我正在使用mod_rewrite来实现这一目标: www.mydomain.com/musician/musicianname/idnumber
这是我使用的规则:
RewriteRule musician/([a-zA-Z0-9]+)/([a-zA-Z0-9]+)$ /musician.php?$musician=$1&id=$2 [L]
这工作得很好,但我想让这个URL更加用户友好。我想在网址中隐藏“音乐家”和“idnumber”,只有“musicianname”: www.mydomain.com/musicianname /
实现此目的的最佳mod_rewrite规则是什么?
答案 0 :(得分:0)
这工作正常,但我想让这个URL更多用户 友好。我想从网址中隐藏“音乐家”和“idnumber” 并且只有“musicianname”:www.mydomain.com/musicianname /
实现此目的的最佳mod_rewrite规则是什么?
这与获得最佳重写规则无关。这根本不难。为了实现您的目标,您首先必须重新构建您的PHP代码。如果从查询字符串中删除idnumber,我认为它不会让它在数据库中查找记录。因此,您必须让代码通过musicianname
查找数据。
一旦你这样做,你可以简单地改变你的重写。
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^([^/]+)/?$ /musician.php?musician=$1 [L]