繁体   English   中英

如何使用 htaccess 从 url 中删除文件夹名称

[英]how to remove folder name from url using htaccess

我想从以下位置更改 URL:

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

至:

http://example.com/iPhone/app

对于所有 URL 都一样,例如:

example.com/Portfolios/iPad/app

至:

example.com/iPad/app

并且来自:

example.com/Portfolios/xyz/app

至:

example.com/xyz/app

我已经尝试了很多,但没有什么对我有用。


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

通过 Apache 配置启用mod_rewrite.htaccess ,然后将此代码放在DOCUMENT_ROOT目录下的.htaccess中:

RewriteEngine On

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

说明:以上规则匹配以Portfolios开头并具有/Portfolios/xyz/app之类的内容并将xyz/app放入$1的 URL 模式。 它对/$1/xyz/app进行外部重定向。

这些是使用的标志:

L  - Last Rule
NC - Ignore (No) Case comparison
R  - External redirection (with 302)

确认它工作正常后,将R=302替换为R=301 在测试您的mod_rewrite规则时避免使用R=301 (永久重定向)。

您还可以将根目录设置为 /var/www/Portfolios 而不是 /etc/apache2/sites-enabled 通过将 DocumentRoot 行写入为

DocumentRoot /var/www/Portfolios

而不是 DocumentRoot /var/www/ 并且这一行 < Directory /var/www/ > 更改为

< 目录 /var/www/Portfolios/ >

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM