0
私はdbm値に作用するRewriteRuleを書いています。私は、ユーザーIDとホームディレクトリのパスまたはURLを含むdbmファイルを持っています。 http://www.domain.com/~useridはユーザIDを検索し、/ home/useridのようなホームディレクトリか、http://www.userid.comのようなURLを返します。ホームディレクトリが返されると、コンテンツが表示されます。 URLが返された場合は、クライアントのリダイレクトを希望します。 Apacheの2.2を実行して、私は次のようしている:dbm値に基づくmod_rewrite
RewriteEngine On
RewriteLog /etc/httpd/logs/rewrite_log
RewriteLogLevel 4
RewriteMap homedir.dbm dbm:/var/www/data/homedir.dbm
RewriteCond ${homedir.dbm:$1|lookupfailed} (.*)
RewriteCond %1 !lookupfailed
RewriteRule ^/~([^/]+)/(.*)$ /%1/www/$2 [L]
RewriteCond ${homedir.dbm:$1|lookupfailed} (.*)
RewriteCond %1 !lookupfailed
RewriteCond %1 !^http [NC]
RewriteRule ^/~([^/]+)$ /~$1/ [L,R=301]
RewriteCond ${homedir.dbm:$1|lookupfailed} (.*)
RewriteCond %1 !lookupfailed
RewriteCond %1 ^http [NC]
RewriteRule ^/~([^/]+)$ %1 [R]
をホームディレクトリの部分が動作しているようだが、私は、URLに簡単な何かが欠けする必要があります一部をリダイレクトします。すべての助けが大いに感謝されるでしょう。