将index.php移动到另一个目录

时间:2018-05-24 16:02:13

标签: php apache .htaccess webserver query-string

我正在使用此GitHub页面:https://github.com/Athlon1600/php-proxy-app并且正如它应该的那样,当我转到development.stech.software时,它会加载index.php

当我选择一个链接时,它会使它成为一个像development.stech.software/index.php?q=y6ml06abkWPdp6pnn6PVl6TLlMSkpmdvzdzUj6WZbqbWoQ这样的查询字符串(其中随机字符是查询)。

如何调整index.php文件,以便在我转到网址时,将其加载到/index.php/query/y6ml06abkWPdp6pnn6PVl6TLlMSkpmdvzdzUj6WZbqbWoQ或类似内容。

我尝试了这个,但它不起作用(它报告了500),我是从URL rewriting with PHP

找到的
$path = ltrim($_SERVER['REQUEST_URI'], '/');    // Trim leading slash(es)
$elements = explode('/', $path);                // Split path on slashes
if(empty($elements[0])) {                       // No path elements means home
    ShowHomepage();
} else switch(array_shift($elements))             // Pop off first item and switch
{
    case 'index':
        ShowPicture($elements); // passes rest of parameters to internal function
        break;
    case 'more':
        ...
    default:
        header('HTTP/1.1 404 Not Found');
        Show404Error();
} 

我还将此添加到.htaccess FallbackResource htdocs/index.php

1 个答案:

答案 0 :(得分:0)

要将/index.php?q=foobar重定向到/index.php/query/foobar,您可以在htaccess文件中使用以下规则:

 FallbackResource htdocs/index.php

RewriteEngine on
RewriteCond %{QUERY_STRING} ^q=(.+)$
RewriteRule ^index.php$ /index.php/query/%1? [L,R]