php - 我如何使用多个虚 URL?

标签 php mysql .htaccess url vanity-url

所以我的网站上已经有一个用于普通用户配置文件的个性化 URL...

basecentre.co.uk/user1

这会将用户重定向到

basecentre.co.uk/userprofile.php?username=user1

使用下面的代码...

<IfModule mod_rewrite.c>
RewriteEngine On 
RewriteCond %{QUERY_STRING} ^thankyou-page=([0-9]*)$ 
RewriteRule ^(.*)$ affilates_redirect.php [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ /userprofile.php?username=$1
RewriteCond %{HTTP_HOST} ^www.basecentre.co.uk$ [NC]
RewriteRule ^(.*)$ http://basecentre.co.uk/$1 [R=301,L]
</IfModule>

我也在尝试创建业务资料,并且希望做同样的事情,但在我的网站上使用不同的页面,所以说...

basecentre.co.uk/businessprofile.php?businessname=mcdonalds

会变成

basecentre.co.uk/mcdonalds

而且它不会与普通用户配置文件混淆。 这行得通吗?或者您的网站上只能有一个个性化 URL 吗?如果那是真的,我还有其他选择吗?

此外,如果可能的话,如果您的用户名与企业资料名称相同,会发生什么情况?

感谢您的帮助!

最佳答案

我建议使用像/user/user1 和/business/macdonalds 这样的 URL 方案。这将排除任何碰撞。

您还可以保留用户配置文件 URL,例如/user1,并添加/business/macdonalds 作为业务配置文件的新方案。

最后,做自己喜欢的事情不是不可以,而是比较难,因为有几个限制条件:

  1. 您必须确保用户名永远不会与公司名称相同。
  2. 您不能重定向到 userprofile.php 或 businessprofile.php,但您必须重定向到执行路由的脚本(例如 index.php)。
  3. 您必须开发一个路由器,它将查找用户和业务表以找出必须显示哪种类型的配置文件,最后执行正确的 .php 文件。

关于php - 我如何使用多个虚 URL?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25099213/

相关文章:

mysql - 根据组的某些默认值进行选择

MySQL 带有 CASE 或 IF 的 SELECT 查询

php - 如何查询,加入表,字段可以使用 Laravel 从字段 A 或 B 获取值

php - 故意让 PHP 脚本超时

php - 在 Symfony2 中移除 web/app.php

javascript - 页面重定向脚本给了我一个重定向循环

php - Trigger_error()上的自定义错误级别

php - 具有多个不等于 where 子句的 Select 语句

php - Google REST API ADMIN_ONLY_OPERATION

php - WordPress - 自定义帖子类型存档页面 - 404