如何删除和避免htaccess中的url目录

时间:2015-07-16 07:09:15

标签: apache .htaccess mod-rewrite redirect url-rewriting

我正在尝试允许我的网站重写网址。我已将以下内容放入根目录中的.htaccess文件中。

RewriteEngine On

#would be nice to remove member-pages from the URL but no idea how.
#RewriteRule ^members/(.*)/?$ /$1 [NC,R]

#This part works though! 
RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_FILENAME} !-d 

RewriteRule ^(.+)/?$ ./members/$1/ [L]

到目前为止,它需要 mydomain.com/someUserName或mydomain.com/someUserName/(带斜杠),如果存在,将在mydomain.com/members/someUserName/上加载页面。这就像一个宝石。

我现在想要的(并尝试使用第一个重写规则)是采用mydomain.com/members/someUserName或mydomain.com/members/someUserName/并将其显示为mydomain.com/someUserName在网址中。

我该怎么做?提前谢谢!

1 个答案:

答案 0 :(得分:3)

如果我理解正确,您想将 domain.com/members/foo 重定向到 domain.com/foo ,您可以使用以下规则:

RewriteEngine On 
RewriteCond %{THE_REQUEST} /memebers/([^\s]+) [NC]
RewriteRule ^ /%1 [R,L]

RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f

RewriteRule ^([^/]+)/?$ ./members/$1 [NC,L]