Как удалить имя папки из url с помощью htaccess
Я хочу изменить URL-адрес:
http://domain.com/Portfolios/iPhone/app
To:
http://domain.com/iPhone/app
И то же самое для всех URL-адресов, как:
domain.com/Portfolios/iPad/app
To:
domain.com/iPad/app
И из:
domain.com/Portfolios/xyz/app
To:
domain.com/xyz/app
Я много пробовал, но ничего не работает для меня, поэтому, пожалуйста, помогите мне.
Когда мне нужна помощь, почему любой приятель голосует, если вы знаете ответ, ответьте на него.
Обновление
<IfModule mod_rewrite.c>
RewriteEngine on
RewriteRule ^Portfolios(/.*|)$ $1 [L,NC]
</IfModule>
Ответы
Ответ 1
Включите mod_rewrite
и .htaccess
через httpd.conf
, а затем поместите этот код в .htaccess
в каталог DOCUMENT_ROOT
:
Options +FollowSymLinks -MultiViews
# Turn mod_rewrite on
RewriteEngine On
RewriteBase /
RewriteRule ^Portfolios/(.*)$ /$1 [L,NC,R]
Объяснение:. Выше правил соответствует совпадение URL-адреса, начинающееся с Portfolios
и имеющее somthing как /Portfolios/xyz/app
и помещает xyz/app
в $1
. Он выполняет внешнее перенаправление на /$1
i.e. /xyz/app
.
Это используемые флаги:
L - Last
NC - Ignore (No) Case comparison
R - External redirection (with 302) -- can be changed to R=301
Ответ 2
Вы также можете установить корневой каталог как /var/www/Portfolios вместо/var/www/in/etc/apache2/sites-enabled, написав строку DocumentRoot как
DocumentRoot/var/www/Портфолио
вместо
DocumentRoot/var/www/
а также эту строку
< Каталог /var/www/ " > изменен на
< Каталог/var/www/Портфолио/" >