首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >htaccess无法将文章id重定向到用php slug函数生成的文章slug

htaccess无法将文章id重定向到用php slug函数生成的文章slug
EN

Stack Overflow用户
提问于 2019-02-17 14:00:06
回答 1查看 68关注 0票数 0

我有很多问题都贴在了stackoverflow上,但对我没有帮助,这就是为什么我会严格按照我的要求来尝试。感谢您接受..

我已经尝试了很长时间,但是直到现在我的问题还没有解决。问题是,我试图把我的网址seo友好,如,example.com/articles.php?id=''example.com/articles/my-first-article,而slug是用php生成,并插入到数据库中如下所示。

代码语言:javascript
运行
复制
function php_slug($string){

                        $spl_char = '/[^\-\s\pN\pL]+/u';
                        $double_char = '/[\-\s]+/';

                        $slug = preg_replace('/[^a-z0-9-]+/', '-', strtolower($string));
                        $slug = preg_replace($double_char, '-', $string);

                        $slug = trim($string, '-');

                        return $slug;
                    }

并包含在HTACCESS中

代码语言:javascript
运行
复制
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteRule ^([^\.]+)$ $1.php [L,QSA]
#RewriteCond %{REQUEST_FILENAME} !-1

#RewriteRule ^/?$ /1 [QSA]

RewriteRule ^article([a-zA-Z0-9-/]+)$ article.php?article_link=$1 [L,QSA]
RewriteRule ^article([a-zA-Z0-9-/]+)/ article.php?article_link=$1 [L,QSA]

并链接为

代码语言:javascript
运行
复制
<a href="article/?article_link='<?php echo $article_link;?>'">BTN</a>
EN

回答 1

Stack Overflow用户

发布于 2019-02-17 15:56:42

请提前重写你的文章:

代码语言:javascript
运行
复制
RewriteEngine On

RewriteRule ^article\/(.*)$ article.php?article_link=$1 [L]

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteRule ^([^\.]+)$ $1.php [L,QSA]

将hrefs更改为preety链接(重写应捕获它们):

代码语言:javascript
运行
复制
<a href="article/<?php echo $article_link;?>">BTN</a>
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/54730592

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档