1

因此,我的网站上已经有一个普通用户个人资料的虚荣 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?如果这是真的,我还有其他选择吗?

此外,如果这是可能的,如果您的用户名具有相同的业务资料名称,会发生什么?

谢谢您的帮助!

4

2 回答 2

3

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

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

最后,做自己喜欢的事情也不是不可能,只是比较困难,因为有几个限制:

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

您可以执行以下操作:

RewriteEngine On
RewriteRule ^page/([^/]*)$ /businessprofile.php?businessname=$1 [L]
RewriteRule ^user/([^/]*)$ /userprofile.php?username=$1 [L]

例如,这会将用户配置文件重定向到basecentre.co.uk/user/...,将业务配置文件重定向到basecentre.co.uk/page/...

于 2014-08-02T21:07:54.920 回答