Я хочу переписать URL-адрес, используя .htaccess в codeigniter , но он не работает. Не могли бы вы разобраться. Хотите изменить URL с:

www.site.com/mauritius_holiday_rentals/apartment/anyname

К

www.site.com/mauritius_holiday_rentals/anyname

Мой текущий файл .htaccess содержит:

RewriteEngine on
RewriteCond $1 !^(index\.php|images|robots\.txt)
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php?/$1 [L,QSA] 
RewriteRule ^mauritius_holiday_rentals/([A-Za-z0-9-]+)/?$ mauritius_holiday_rentals/apartment/$1 [L,QSA]

Первые четыре строки предназначены для удаления index.php из URL-адреса, который работает нормально.

0
Ali Rehman 9 Май 2014 в 11:47

3 ответа

Лучший ответ

Если файл маршрутов настроен на доступ к новому URL-адресу, и вы хотите установить перенаправление для старых URL-адресов, используйте следующий код в .htaccess. в противном случае дайте мне знать подробно, что вы хотите сделать.

RewriteEngine on
RewriteBase /
RewriteRule /mauritius_holiday_rentals/apartment/$1 /mauritius_holiday_rentals/$1 [R=301,L]

Код конфигурационного файла Routes.php

$route['mauritius_holiday_rentals/(:any)']="mauritius_holiday_rentals/apartment/$1";

Сообщите мне, если возникнут проблемы.

3
Razor Jack 9 Май 2014 в 10:32

Попробуйте использовать систему маршрутизации codeigniter https://www.codeigniter.com/user_guide/general/routing.html

0
Stack Programmer 29 Мар 2019 в 14:50
 RewriteEngine On    
 RewriteBase /yourProjectName/    
 RewriteCond $1 !^(images|stylesheets|javascript)    
 RewriteCond %{REQUEST_FILENAME} !-f    
 RewriteCond %{REQUEST_FILENAME} !-d    
 RewriteRule ^(.*)$ /yourProjectName/index.php?/$1 [L]
0
RajeshPalande 24 Июл 2015 в 09:59