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 にアクセスすると、この方法で短い URL を取得しようとしています。私は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 に答える