繁体   English   中英

条件.htaccess重定向 - 根据网址重定向到两个不同的页面

[英]conditional .htaccess redirect - redirect to two different pages depending on the url

当用户访问项目页面时,我的网站有点像9gag或damnlol等,例如:site.com/104-funny-thing,重写规则重定向到view.php?id = 104-funny-thing。 在第一个' - '之后,URL被删除了所有内容。 所以我们只剩下id,在这种情况下:104,查询获取项目。

这是规则:

RewriteRule ^([A-Za-z0-9-]+)$ view.php?id=$1

我想要的是,相同的URL格式也可用于打开用户配置文件。 例如:site.com/salman,此URL应该打开profile.php?username = salman。

我想通过PHP做到这一点。 我可以在哪里使用相同的文件view.php。 完成URL的解析后,如果我得到一个数值,我会包含item.php页面并查询并相应地显示数据。 如果它不是数字,那么我可以包括profile.php页面并显示配置文件。 理论上这应该完美无缺,但我想尝试的是,如果有一种方法可以直接使用.htaccess重定向,我宁愿使用该选项,因为之前的选项需要额外的工作来解决一些问题,解决方案引起。

擅长htaccess(正则表达式代码?)的人可能能够提供解决方案。 以下是一些进一步的解释:

  • 用户名可以包含数字,但不仅包含数字
  • 用户名网址不能包含“ - ”
  • 商品ID不能包含字母
  • URL 104-funny,104-和104都适用于view.php

感谢您的高级帮助!

#article urls
RewriteRule ^([0-9]+)(-.*)?$ view.php?id=$1

#profile urls.
RewriteRule ^([A-Za-z0-9]+)$ profile.php?username=$1

暂无
暂无

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

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