由于文件系统子目录限制,我很可能会达到这个目的。我想将/users
文件夹分成/users/a/username
,/users/b/username
,/users/c/username
等。
因此,用户服务器上的数据将位于:
www.domain.com/users/a/username/
,www.domain.com/users/b/username
/等
我希望网址为:
www.domain.com/users/username/
可选择避免重复内容,从www.domain.com/users/a/username/到www.domain.com/users/username/
的301重定向也会很好。
目前我对一个子目录进行了重写(见下文),但我很困惑如何有效地对所有字母子目录进行此操作。
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^users/(.*)$ users/a/$1 [L,NC]
我检查了这个网站,似乎都隐藏了第一个子目录,例如domain.com/folder1/filename.html
=> domain.com/filename.html
但没有更深入的内容。
答案 0 :(得分:0)
将此代码放入htaccess(必须位于根文件夹中)
Options -Indexes -MultiViews
RewriteMap lowercase int:tolower # this line in your apache file configuration
RewriteEngine On
RewriteCond %{THE_REQUEST} \s/users/[a-z]/([^/\s]+)\s
RewriteRule . /users/%1/? [R=301,L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^users/([A-Za-z])([^/]+)/$ /users/${lowercase:$1}/$1$2/ [L]