如何在 PHP Codeigniter 中重写 URL



你好,我是CI的新手,我被困在某个地方。

我想要的是我有这样的网址

domain.com/article?seo=What-Software-Program&id=7

在这里,我正在通过最后的id获取文章 我正在使用 seo 在 url 中使用与 thsse 相关的关键字以获得更好的 SEO

现在我想要从那个网址中看起来像这样

domain.com/article/What-Software-Program/id/7

我想从网址中删除?seo=并将其替换为/

我已经成功地配置了我的路由页面,以路由没有索引和主控制器的 url.php

这是我的路线页面

$route['default_controller'] = 'main';
$route['404_override'] = '';
$route['translate_uri_dashes'] = FALSE;
$route['(:any)'] = "main/$1";
$route['admin'] = 'admin/login';

和我的访问

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]
# 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]

编辑

我有这样的网址 domain.com/article?seo=What-Software-Program&id=7 但是 此 URL 是在我删除默认控制器名称和索引之后.php

原始 URL domain.com/index.php/main/article?seo=What-Software-Program&id=7 其中 main 是控制器名称 文章是函数名称

我删除了索引.php和主要路由.php文件,现在我想将 SEO 的内容正确放入 url 中。

For this type of url : domain.com/article/What-Software-Program/id/7

请在下面添加路由,在路由.php文件。

$route['article/(:any)/id/(:num)'] = "controller_name/function_name/$1/$2";

相关内容

  • 没有找到相关文章

最新更新