2

问题是我有播放器壁纸的页面,当用户单击播放器名称时,他会转到该页面:

player.php?name=Cristiano-Ronaldo

我得到名称值$_REQUEST['name'],我正在尝试重写:

mysite.com/player.php?name=Cristiano-Ronaldo

mysite.com/Football-Players/Cristiano-Ronaldo

我在网上阅读并尝试了很多建议,但没有运气,这是我得到的最好的东西.htaccess

Options +FollowSymlinks -MultiViews
RewriteEngine on

RewriteCond   %{QUERY_STRING} ^name=([-a-zA-Z0-9_+]+)

RewriteRule   ^players/player\.php$ /Football-Players/%1 [L,R=301]

RewriteRule   ^Football-Players/%1 /players/player.php?name=%1 [L] 

但我仍然得到 404 Not found 错误。

我在 Windows 7 上的 wampserver 上对此进行了测试

我该如何解决这个问题?

4

2 回答 2

2

通过启用 mod_rewrite 和 .htaccess httpd.conf,然后将此代码放在您.htaccessDOCUMENT_ROOT目录下:

Options +FollowSymLinks -MultiViews
RewriteEngine On

RewriteCond %{THE_REQUEST} ^[A-Z]{3,}\s/+players/player\.php\?name=([^&\s]+) [NC]
RewriteRule ^ /Football-Players/%1? [R=301,L]

RewriteRule ^Football-Players/([^/]+)/?$ /players/player.php?name=$1 [L,QSA,NC]
于 2013-09-09T21:16:50.197 回答
0

只是为了确认您是否启用了rewrite_modulewampserver?您可以通过 wampserver -> apache -> modules -> rewrite_module 启用它

于 2013-09-09T21:14:59.670 回答