0

htaccess ファイルで正規表現を使用して /[username] をキャッチし、これをユーザー名ページにリダイレクトしています。たとえば、mywebsite.com/john は mywebsite.com/username?u=john に転送されます。これは機能しますが、存在するディレクトリに一致するものはすべて除外したいと考えています。そのため、誰かが mywebsite.com/sign-up にアクセスした場合、そのディレクトリ (/sign-up) が存在するため、これはリダイレクトの対象外です。それは可能ですか、それは通常の慣行ですか?ありがとうございました。

編集:理想的には、既存のすべてのディレクトリを手動で除外する必要はありません。既存のすべてのディレクトリに対して自動化したいと思います。

4

1 に答える 1

0

その前に書き換え条件を使用してください。!-fは既存のファイルではないことを意味し、!-dは既存のディレクトリではないことを意味します。

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^([a-z]+)$ username?u=$1 [L]
于 2012-05-07T17:06:14.797 に答える