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 - 正则表达式用大括号匹配行

python - Python 中正则表达式的混淆行为

python - Django Apache Redhat 权限被拒绝,调用 fopen() 失败

.htaccess - 如何从 url 中删除重复的字符?

php - .htaccess RewriteCond,其中 URI 不包含域

Javascript 正则表达式匹配空字符串、非数字字符或超过 1 位的数字?

java - 如何使用正则表达式替换字符?

php - .htaccess错误无法按预期工作

c# - 如何 IKVM Apache POI

.htaccess - 将链接重定向到正确的目录