【问题标题】:Vanity URL and redirection虚 URL 和重定向
【发布时间】:2013-12-03 16:40:11
【问题描述】:

我正在尝试创建一个重定向服务,它可以根据虚 url 将用户重定向到他们的个人资料页面。

虚 URL 的格式为 - www.site.com/username

这会将他们重定向到页面 profile_redirect.php,该页面将回显用户名(功能更深入,但这就是我需要帮助的全部)。

我尝试了此处发布的几个答案,但无法使其正常工作。目前,它什么也不做,只是给我一个找不到页面的错误。我在 wamp 上运行它,并且我将 localhost 的别名设置为“proj”,所以我调用“http://proj/username”,但这让我找不到页面。

我当前的 htaccess 文件(相关部分)

RewriteEngine on
RewriteCond %{REQUEST_FILENAME}.php -f
RewriteRule ^([^\.]+)$ $1.php [NC]
RewriteCond %{REQUEST_FILENAME} >""
RewriteRule ^([^\.]+)$ profile_redirect.php?user=$1 [L]

我当前的 profile_redirect.php 文件

$getName=$_GET["user"];
echo $getName;

【问题讨论】:

    标签: php regex .htaccess mod-rewrite redirect


    【解决方案1】:

    有这样的规则:

    RewriteEngine On
    RewriteBase /
    
    RewriteCond %{REQUEST_FILENAME}.php -f
    RewriteRule ^([^\.]+)/?$ $1.php [L]
    
    RewriteRule ^([^\.]+)/?$ profile_redirect.php?user=$1 [L,QSA]
    

    【讨论】:

    • 有史以来最快的响应,完美运行!谢谢! (它太快了,我什至不能接受答案:P)你能帮我理解我以前的规则有什么问题吗?如果你不介意:)
    • 不客气 :) 是的,我绝对可以指出哪里出了问题。问题是这种情况:RewriteCond %{REQUEST_FILENAME} >"" 除了将%{REQUEST_FILENAME} 变量与文字> 进行比较之外什么也没做,当然这不会成功,你的规则也不会触发。
    • 永远不会注意到这一点!再次感谢你! :)
    猜你喜欢
    • 1970-01-01
    • 2013-02-05
    • 1970-01-01
    • 2010-11-24
    • 2011-02-12
    • 2016-06-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多