如何从PHP浏览器获取URL?

我想在php中获取网址。

我想像这样访问“ demoproject”下“ book文件夹”中的“ index.php”文件:

demoproject/book/index.php

我想要的是:

当有人在浏览器中键入内容时,我想访问index.php文件

demoproject/book/page2

在index.php文件中,我编写了动态访问page2的代码。 如果用户键入page3,则page3内容将加载到index.php文件中

这是我在做什么:

// Assume user type in the browser
// demoproject/book/page2

$url="http://".$_SERVER['HTTP_HOST'].$_SERVER['REQUEST_URI'];
$errors = array();
//get request url
$request_uri = explode('/', $_SERVER['REQUEST_URI']);
//print_r($request_uri);
echo $request_uri[3];   // page2

?>

但是我的问题是我能够使用index.php访问以下URL

demoproject/book/index.php

但是当用户在浏览器中键入如下内容时,无法获得page2:

demoproject/book/page2

我只想在用户输入时:

demoproject/book/page2     // I want to get page2 on index.php
demoproject/book/page3     // I want to get page3 on index.php
demoproject/book/page4     // I want to get page4 on index.php
demoproject/book/page5     // I want to get page5 on index.php
demoproject/book/page6     // I want to get page6 on index.php

任何想法或建议都将受到欢迎。 谢谢

评论
  • 明天H
    明天H 回复

    我建议您维护以下文件结构:

    demoproject/bookName/page1.php
    demoproject/bookName/page2.php
    demoproject/bookName/page3.php etc
    

    但是,我了解您要在访问页面时从文件名中删除dot.php扩展名,您可以使用.htaccess文件将其重定向到相应页面。例如 :

    如果您的用户转到-

    url : demoproject/bookName/page2
    

    它们将自动重定向到-

    url : demoproject/bookName/page2.php
    

    虽然网址不会显示dot.php扩展名。

    使用以下.htaccess代码

    RewriteCond %{REQUEST_FILENAME}.php -f
    RewriteRule !.*\.php$ %{REQUEST_FILENAME}.php [QSA,L]
    

    让我知道您是否需要进一步的帮助。