[英]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.