2
4

2 回答 2

2

首先,您的正则表达式不正确。使用?告诉mod_rewrite它前面的字符是可选的。它不是任何字符的占位符。

你应该这样做:

RewriteRule ^character/(%[A-Z0-9]{3})$ characters?character=$1 [NC,L]

此规则假定您只想捕获一个字符。如果不是这种情况,或者您在其他地方需要相同的规则,则(%[A-Z0-9]{3})换成(%[A-Z0-9]+).

您还需要确保您的.htaccess文件以 Unicode 格式 (UTF-8) 保存。

于 2013-04-21T05:56:20.747 回答
0

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

Options +FollowSymLinks -MultiViews
# Turn mod_rewrite on
RewriteEngine On
RewriteBase /

RewriteRule ^character/(.+)$ /characters?character=$1 [NE,NC,L,QSA]
于 2013-04-22T06:37:58.660 回答