[英]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.