0

这是我的 .htaccess :

RewriteEngine on
RewriteBase /site
RewriteCond %{request_filename} -f

RewriteRule ^(.*) $1 [L]
RewriteRule ^([a-z]+)(/([^/]{0,32})(/.+)?)?$  index.php?a=$1&u=$3    [L]

如果有人访问 www.mysite.com/johndoe htaccess 将他/她发送到此链接 index.php?a=profile&u=johndoe,我正在尝试以这种方式使用短网址,这样做的最佳方法是什么?我确实阅读了 htaccess 教程并尝试了不同的方法但失败了:/

4

1 回答 1

-1

尝试反转条件并删除重写基础:

RewriteEngine on

RewriteCond %{request_filename} !-f
RewriteCond %{request_filename} !-d
RewriteRule ^([^/]+)/?$  /index.php?a=profile&u=$1    [L]

这将使它成为:

如果有人访问 www.mysite.com/johndoe

“johndoe”被 匹配^([^/]+)/?$并反向引用$1,结果是:

此链接 index.php?a=profile&u=johndoe

于 2013-02-20T09:00:21.853 回答