当我已经使用工作正常的文章时,如何在 htaccess 中为配置文件用户创建干净的 url

Posted

技术标签:

【中文标题】当我已经使用工作正常的文章时,如何在 htaccess 中为配置文件用户创建干净的 url【英文标题】:How to create clean url for profile users in htaccess while i already using for article which is working fine 【发布时间】:2020-11-23 07:40:48 【问题描述】:

这是互联网上非常常见的问题,但不幸的是,我还没有找到任何解决方案。我的问题是,我已经在使用以下代码,这对于文章目的来说效果很好(site.com/my-first-article)。

#remove .php    
RewriteCond %REQUEST_FILENAME.php -f
RewriteRule ^([^\.]+)$ $1.php [NC,L]

#for pretty url
RewriteCond %REQUEST_FILENAME !-d
RewriteCond %REQUEST_FILENAME !-f
RewriteRule ^([^\.]+)$ blog.php?qTitle=$1 [NC,L]

但是现在我需要 (site.com/profile/user-name),当我复制和编辑上面的用户配置文件代码时它不起作用。

#remove .php    
RewriteCond %REQUEST_FILENAME.php -f
RewriteRule ^([^\.]+)$ $1.php [NC,L]

#for pretty url
RewriteCond %REQUEST_FILENAME !-d
RewriteCond %REQUEST_FILENAME !-f
RewriteRule ^([^\.]+)$ profile.php?username=$1 [NC,L]

我希望我很好地定义了这个问题,并且有些人可以理解我的问题。感谢您的宝贵时间。

我的输出

【问题讨论】:

为什么要删除博客重定向? 你可以通过 index.php 路由所有传入的请求,然后在 PHP 中决定你将如何处理请求(重定向使用:php.net/manual/en/function.header.php) F. Muller,如何路由所有传入的请求? vivek 我如何删除运行良好的博客重定向。 “它不起作用”是什么意思?您尝试检查出了什么问题? 【参考方案1】:

例如,要将地址 site.com/profile.php?username=J0R1AN 更改为 site.com/profile/J0R1AN,您需要使用以下代码:

RewriteEngine On
# If user directly accesses /profile/[username]
RewriteCond %REQUEST_FILENAME !-f
RewriteCond %REQUEST_FILENAME !-d
RewriteRule ^/?profile/(.*?)/?$ /profile.php?username=$1 [L]
# If user accesses /profile.php?username=[username]
RewriteCond %THE_REQUEST ^[A-Z]3,9\ /profile\.php\?username=([^\&\ ]+)
RewriteRule ^/?profile\.php$ /profile/%1? [L,R=301]

您甚至可以在 profile.php 文件中继续使用$_GET

来源:https://www.taniarascia.com/rewrite-query-string-to-path-with-htaccess/

【讨论】:

还是不行我要上传我得到的结果的截图。 重定向工作正常,但看起来 CSS 加载不正确。你能告诉我你的css文件的路径和你的中的路径吗? src="css/bootstrap.min.css" 和更多的css文件一样 您可以尝试在路径中添加 / 吗?这样,无论您身在何处,它都会从页面的根目录开始。另外,如果css文件本身,您能否提供目录,我希望它只是根目录中的一个css文件夹,但只是为了确定 即使我添加了项目( src="blog/css/style.css" )仍然无法正常工作

以上是关于当我已经使用工作正常的文章时,如何在 htaccess 中为配置文件用户创建干净的 url的主要内容,如果未能解决你的问题,请参考以下文章

通过https忽略htaccess文件

当我在 LiveData 观察者中使用 navController 时,Android Navigation 组件图停止正常工作

如何使用“位置:粘性;”粘贴部分CSS?

react和laravel中的登录身份验证无法正常工作

当原型单元不工作时如何使用segue

加载数据构造三叉树不能正常工作(C)