У меня есть сайт codeigniter, на котором я хочу сделать SEO. Поэтому я использовал маршруты для медленных URL-адресов, а не по умолчанию для codeigniter, имеющего имя метода и индексы.
С этим проблема вступает в игру, три разных URL, он открывает одну и ту же страницу, т.е.
1. https://www.example.com/seo-freindly-url/
2. https://www.example.com/index.php?/controller/method/42
3. https://www.example.com/controller/method/42
Но я хочу, чтобы работал только первый URL, для других я хочу перенаправить на SEO дружественный, используя только Htaccess переназначения.
Пожалуйста, помогите мне в этом.
Еще одна вещь, которую я использовал перенаправление htaccess 301, чтобы перенаправить один из моих URL
Redirect 301 "/plan/index/42" https://www.example.com/services/seo
Это работает до некоторой степени, когда я открываю URL
https://www.example.com/plan/index/42
он перенаправляет на
https://www.example.com/services/seo?/plan/index/42
но это должно быть https://www.example.com/services/seo/
Спасибо.
С моей стороны сложно проверить, но вы можете попробовать что-то вроде этого:
.Htaccess
RewriteEngine On
RewriteBase /
RewriteRule ^controller/method/42$ /seo-friendly-url [L]
redirect 301 /plan/index/42 /services/seo
RewriteRule ^(system|application|cgi-bin) - [F,L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
# Remove index.php from all URLs
RewriteRule .* index.php/$0 [PT,L]
/ Приложение / Config / конфигурации
// This assumes you want to remove index.php from all URLs
$config['index_page'] = '';
Других решений пока нет …