繁体   English   中英

在自定义构建的框架中将帖子标题附加到 URL

[英]Appending post title to URLs in a custom built framework

使用 Stack Overflow 作为案例研究,将其放在 URL http://stackoverflow.com/questions/32670861它会将 URL 更改为http://stackoverflow.com/questions/32670861/parsing-arguments-dynamically-into-a-method-in-php加载时。

我怎样才能实现这个功能?

我正在使用自定义构建的框架。

这是.htaccess规则

RewriteEngine on
RewriteRule ^$   public/    [L]    
RewriteRule (.*) public/$1  [L]

在公共目录中,我有这个 `.htaccess 规则

RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f

RewriteRule ^(.*)$ index.php?route=$1 [L,QSA]

这是我用来捕获 Bootstrap 类中的传入 url 以进行路由的方法。

我怎样才能用这种框架实现上面提到的功能。 这种路由效果是否仍然有效,因为我在public/目录中尝试了一些重写规则,但它似乎对 URL 根本没有任何影响(我猜是因为它是一个正确的框架)

这是我尝试过的一些规则

#RewriteCond %{REQUEST_URI} ^[0-9a-zA-Z-]$ [NC]
#RewriteRule ^/[0-9A-Za-z-]$ %{REQUEST_URI}/?title=$1 [R=301,L]

#RewriteCond %{REQUEST_URI} /+[^\.]+$
#RewriteRule ^(.+[^/])$ %{REQUEST_URI}/$1 [R=301,L]

没有人接近工作。

编辑:我的问题与其标志无关。 我不是在谈论漂亮的链接。 该框架已经提供了,但就像描述的 Stack Overflow 场景一样,如果我去www.example.com/news/1它应该重定向(也许;我不知道 Stack Overflow 是如何做到的)到www.example.com/news/1/title-of-the-new

使用 stackoverflow 示例,您的 php 路由控制器需要获取 url 的 ID 部分并查找最后一个标题部分。

然后你必须做一个header('Location:'. $fullUrl); 重定向。

如果您删除此页面上 url 的标题部分,您可以在浏览器开发工具网络中看到,已完成 301 重定向以获取完整 url。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM