0

例如,

用户输入,

www.foob.com/some_path

我不想为用户可能使用的每个不同的标识符创建一个 some_path 文件夹……例如,如果它是一个人的名字,就像在许多社交应用程序中看到的那样。

www.foob.com/some_path1

但是,我想将其作为变量读入并提供相关内容

JavaScript

var foo = 'some_path1'

PHP

$foo = 'some_path1';

如何将“some_path1”放入 foo?

笔记

some_path 是一个变量,它可能包含

some_path_1
some_path_2
some_path_3

澄清

所以以facebook.com为例

如果你去

www.facebook.com/your_name

并不是所有 10 亿用户都有一个不同的目录。

提供一个通用页面,其中填充了用户特定的数据。

我如何获得 id your_name?

4

3 回答 3

3

您需要设置www.foob.com/some_path为指向您的.htaccess文件index.php?q=some_path中具有或类似内容的 PHP 脚本 URL:

RewriteEngine On
RewriteRule ^([a-zA-Z0-9-z\-]+)$ index.php?q=$1

$_GET['q']然后只需根据PHP 文件提供不同的内容即可。

或在 Javascript 中使用它:

echo '<script>...var q = ' . $_GET['q'] . ';</script>';
于 2013-04-10T23:27:43.667 回答
2

您可以使用$_SERVER['REQUEST_URI']PHP 来获取此信息。如果您想在 JavaScript 中使用它,请查看window.location对象(可能是window.location.hrefwindow.location.pathname)。不过,两者都可能需要一些解析才能仅获取您想要的部分。

关于将这些请求发送到您的脚本的重写规则,我会使用类似这样的东西,它将重定向所有通过 app.php 在其他地方找不到的文件的请求。这应该放在站点根目录的 .htaccess 文件中。

<IfModule mod_rewrite.c>
    RewriteEngine On

    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteRule ^(.*)$ app.php [QSA,L]
</IfModule>
于 2013-04-10T23:31:46.517 回答
1

.htaccess文件添加到您的根目录。

.htaccess

RewriteEngine On

RewriteRule ^([A-Za-z0-9-]+)/?$ index.php?page=$1   [L]

您可以在index.php页面顶部添加与此类似的内容:

<html>
  <head>
    <title> MyWebsite <?php echo '~'.ucwords($desired_page); ?> </title>
    <?php
        $page_array = array(
          "home", "blog", "news",
          "links", "about", "contact"
        );

        $desired_page = (isset($_REQUEST['page'])) ? 
          $_REQUEST['page'] : "home";

        if(!in_array($desired_page, $page_array))
          $desired_page = "error";
    ?>
  </head>
  <body>
      <div id="menu">
        <ul>
          <li <?php if($desired_page=="home")
              echo("class=\"current\""); ?>>
            <a href="home">Home</a></li>
          <li <?php if($desired_page=="blog")
              echo("class=\"current\""); ?>>
            <a href="blog">Blog</a></li>
          <li <?php if($desired_page=="news")
              echo("class=\"current\""); ?>>
            <a href="news">News</a></li>
          <li <?php if($desired_page=="links")
              echo("class=\"current\""); ?>>
            <a href="links">Links</a></li>
          <li <?php if($desired_page=="about")
              echo("class=\"current\""); ?>>
            <a href="about">About Us</a></li>
          <li <?php if($desired_page=="contact")
              echo("class=\"current\""); ?>>
            <a href="contact">Contact Us</a></li>
        </ul>
      </div><!--end menu-->

      <div id="content">
        <?php
          /*Includes specific page content*/
          include("content/".$desired_page.".php");
        ?>
      </div> <!-- end #content -->
  </body>
</html>
于 2013-04-10T23:29:17.967 回答