【问题标题】:Simple userprofile-URL without rewriting addressrule无需重写地址规则的简单用户配置文件 URL
【发布时间】:2012-08-30 19:14:33
【问题描述】:

我正在开发一个包含大量个人资料的网站。我想要的是,您可以简单地导航到其中一个带有类似 www.mywebsite.com/userX 的 URL 的配置文件(就像带有 twitter.com/userX 的 twitter)。

我已经知道如何通过使用 .htaccess 和 rewriterule 来实现这一点,但问题是它会将整个 URL 更改为类似 www.mywebsite.com/?username=userX 的内容。它必须只加载特定的 PHP 文件,而无需重写地址栏中的 URL。

谁知道我该怎么做?

(对我的普通英语感到抱歉)

【问题讨论】:

  • 您是否尝试过研究这个主题——或者至少在这个站点上使用搜索?检查this thread,例如;实际上,这里有很多类似的问题。简而言之,服务器应该重写,而不是重定向。
  • 哦,对不起,我尝试了一个简单的重写,但没有奏效,所以我认为重写函数不是我必须使用的函数。但现在我尝试了更复杂的重写,效果很好。谢谢!

标签: php .htaccess mod-rewrite


【解决方案1】:

查看精彩文章:

http://www.phpriot.com/articles/search-engine-urls

它解释说,是的,你想要一个看起来像这样的 mod_rewrite(放置在 .htaccess 文件中)规则:

RewriteEngine on
RewriteRule ^/news/([0-9]+)\.html /news.php?news_id=$1

And this maps requests from

/news.php?news_id=63

to

/news/63.html

另一种可能性是使用 forcetype 执行此操作,它强制任何特定路径下的内容使用 php 来评估内容。因此,在您的 .htaccess 文件中,输入以下内容:

<Files news>
    ForceType application/x-httpd-php
</Files>

然后 index.php 可以根据 $_SERVER['PATH_INFO'] 变量采取行动:

<?php
    echo $_SERVER['PATH_INFO'];
    // outputs '/63.html'
?>

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2013-02-15
    • 1970-01-01
    • 2012-03-12
    • 1970-01-01
    • 1970-01-01
    • 2021-09-24
    相关资源
    最近更新 更多