我正在为我的某个应用程序使用Codeigniter并拥有以下htaccess文件
DirectoryIndex index.php
RewriteEngine on
RewriteCond $1 !^(index\.php|(.*)\.swf|forums|images|css|downloads|js|robots\.txt|favicon\.ico)
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ ./index.php?$1 [L,QSA]
现在我有一个类似于mydomain.com/group/username
的网址出于搜索引擎优化的原因,我想使用301重定向将此网址转换为mydomian.com/group/username到mydomian.com/username
像mydomain.com/group/username/page1这样的网址也应该重定向到mydomian.com/username/page
我在谷歌搜索后尝试的最接近的方法是在文件末尾粘贴下面的行
RewriteRule ^(.*?)/?group(.*)$ /$1 [L]
但它不起作用..任何想法我哪里出错了? 关于其他问题的答案似乎对我不起作用/对于.htaccess来说非常糟糕
P.S - 我试过这个
RewriteRule ^group/username(.*)$ username/$1 [QSA,R=301,L]
它工作正常,但它会提供连续的斜杠,例如 mydomain.com/username//pagename
答案 0 :(得分:1)
我已经弄明白了
RewriteRule ^group/username(.*)$ username$1 [QSA,R=301,L]
这只会从您的网址中删除“群组”,并会执行301重定向
答案 1 :(得分:0)
如果
RewriteRule ^group/username(.*)$ username/$1 [QSA,R=301,L]
给出两个斜杠,将其更改为:
RewriteRule ^group/username/(.*)$ username/$1 [QSA,R=301,L]
(。*)$匹配用户名后的任何内容(包括斜杠)直到结束。