URL重写混乱

时间:2013-09-19 19:36:24

标签: php .htaccess mod-rewrite

我有一个htaccess文件,以帮助重写我的网址../players.php?first_name=Richard&last_name=Marston这给了我的../Richard%20Marston的网址,这里是我的.htaccess文件内容

Options +FollowSymlinks
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ players.php?first_name=$1&last_name=$2

IndexIgnore *

有人可以帮助并修改我当前的.htaccess文件,使其在没有%20的情况下读取,而不是没有间隙,例如../RichardMarston ...或者使用 - 例如../Richard-Marston用于个人资料页面

非常感谢

2 个答案:

答案 0 :(得分:2)

Richard-Marston

试试这个
Options +FollowSymlinks
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^([^/.]+)-([^/.]+)$ players.php?first_name=$1&last_name=$2

答案 1 :(得分:0)

您需要在名字和姓氏之间使用某种分隔符。如果您只有一个规则,则可以在重写规则中删除players/

Options +FollowSymlinks
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^players/([^/]+)/([^/]+)$ players.php?first_name=$1&last_name=$2

IndexIgnore *

它会将players/Richard/Marston等网址重写为players.php?first_name=Richard&last_name=Marston