Привет всем, я использую codeigniter, и мне было интересно, как мне создать лучший URL для моих блогов, как сейчас у меня
ТЕКУЩИЙ URL
domain.com / article? Seo = оптимизация на странице-оптимизация-off-page & id = 6
желаемый URL
домен .com / article / On-Page-Optimization-Off-Page-Optimization / 6
Мои маршруты. php файл похож на
$route['default_controller'] = 'main';
$route['404_override'] = '';
$route['translate_uri_dashes'] = FALSE;
$route['sitemap\.xml'] = "Sitemap/index";
$route['(:any)'] = "main/$1";
$route['admin'] = 'admin/login';
Мой Htaccess файл похож на этот
RewriteEngine On
# remove /index.php/main/ from URLs
RewriteCond %{REQUEST_METHOD} !POST
RewriteCond %{THE_REQUEST} \s/+index\.php/main/ [NC]
RewriteCond %{HTTP_HOST} ^(?:www\.)?(.+)$ [NC]
RewriteRule ^index\.php/main(/.*)?$ https://%1$1 [L,NC,NE,R=301]
RewriteCond %{HTTPS} off [OR]
RewriteCond %{HTTP_HOST} ^www\. [NC]
RewriteCond %{HTTP_HOST} ^(?:www\.)?(.+)$ [NC]
RewriteRule ^ https://%1%{REQUEST_URI} [L,NE,R=301]
<IfModule mod_rewrite.c>
RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^ index.php [L]
Header set Access-Control-Allow-Origin "*"
</IfModule>
# remove index.php
RewriteCond %{REQUEST_METHOD} !POST
RewriteCond %{THE_REQUEST} /index\.php [NC]
RewriteCond %{REQUEST_URI} ^(.*/)index\.php$ [NC]
RewriteRule ^ %1 [L,R=301,NE]
# remove main
RewriteCond %{REQUEST_METHOD} !POST
RewriteCond %{THE_REQUEST} /main [NC]
RewriteCond %{REQUEST_URI} ^(.*/)main$ [NC]
RewriteRule ^ %1 [L,R=301,NE]
# To externally redirect /dir/file.php to /dir/file
RewriteCond %{REQUEST_METHOD} !POST
RewriteCond %{THE_REQUEST} \s/+(.+?)\.php[\s?] [NC]
RewriteRule ^ /%1 [R=301,NE,L]
# To internally forward /dir/file to /dir/file.php
RewriteCond %{DOCUMENT_ROOT}/$1.php -f
RewriteRule ^(.+?)/?$ $1.php [L]
Header set Access-Control-Allow-Origin "*"
RewriteEngine on
RewriteCond $1 !^(index\.php|resources|robots\.txt)
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php?/$1 [L,QSA]
Здесь вы можете увидеть, что я удаляю свой индекс. php и имя контроллера (main. php) с помощью htaccess и маршруты. php файл.
Обратите внимание:
- Имя контроллера Main. php (Всегда)
- Имя функции - это статья
, когда я вызываю функцию по ссылке, как это
<a href="<?=base_url('index.php/main/article')?>?seo=article-name&id=123"> See Article </a>
Я получаю доступ к статье в функции статьи, используя GET, как $id=$_GET['id']
, а затем получаю все данные из базы данных.
прыжок Вы понимаете мою проблему и можете помочь мне найти решение этой проблемы.
Я уверен, что могу передать параметры и т.д. c, но я понятия не имею. Пожалуйста, помогите