regex - 如何使用htaccess从网址中删除文件夹名称

标签 regex apache .htaccess mod-rewrite redirect

我想从以下位置更改URL:

http://domain.com/Portfolios/iPhone/app

至:
http://domain.com/iPhone/app

对于所有网址,例如:
domain.com/Portfolios/iPad/app

至:
domain.com/iPad/app

来自:
domain.com/Portfolios/xyz/app

至:
domain.com/xyz/app

我已经尝试了很多,但没有任何帮助,所以请帮助我。

当我需要帮助时,为什么有哥们反对投票,如果您知道答案,那就回答。

更新
<IfModule mod_rewrite.c>
   RewriteEngine on
   RewriteRule ^Portfolios(/.*|)$ $1 [L,NC]  
</IfModule>

最佳答案

通过mod_rewrite启用.htaccesshttpd.conf,然后将此代码放在.htaccessDOCUMENT_ROOT目录下:

Options +FollowSymLinks -MultiViews
# Turn mod_rewrite on
RewriteEngine On
RewriteBase /

RewriteRule ^Portfolios/(.*)$ /$1 [L,NC,R]

说明:上面的规则是匹配的URL模式,该模式以Portfolios开头,并具有类似/Portfolios/xyz/app的内容,并将xyz/app放入$1中。它将外部重定向到/$1/xyz/app

这些是使用的标志:
L  - Last
NC - Ignore (No) Case comparison
R  - External redirection (with 302) -- can be changed to R=301

关于regex - 如何使用htaccess从网址中删除文件夹名称,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18973058/

相关文章:

javascript - 如何创建一个至少接受一个小写字母和一位数字的正则表达式?

apache - 如何查找 Apache 在 Linux 中使用的 MPM 模型(worker、prefork 或 event)

git - 使 .git 目录 Web 不可访问

regex - 如何在第 9 个反向引用之后对正则表达式进行分组?

regex - 匹配可能存在也可能不存在的组

java - 将特定的 cUrl 请求转换为 Java/使用 Java

apache - 关于 org.apache.commons.dbcp.BasicDataSource 的问题

php - 自定义错误页面不适用于 Apache 和 nginx 设置的 .htaccess

php - 如何确保我的网站始终以 www.mysite.com 而不是 mysite.com 打开 - 这搞乱了我的 Google OpenID 登录?

java 分割字符串并只保留特定单词之后的所有内容