mod重写更改url参数但保留get值

时间:2016-04-02 22:32:53

标签: php .htaccess mod-rewrite

我想要这个网址:

https://www.example.com/?image=3453245kjlkasdjflkjaslkdjfkw2.jpg

就像:

https://www.example.com/img234

不使用数据库,只需htaccess和php。在PHP中我想获得原始的img字符串。 这可能吗?

1 个答案:

答案 0 :(得分:1)

所以,创建一个没有框架使用的基本示例,只是为了调用级别

<强>的.htaccess

<IfModule mod_rewrite.c>
    RewriteEngine On
    RewriteBase /public
    RewriteRule ^index\.php$ - [L]
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteRule ^([A-Za-z0-9_]+)$ index.php
</IfModule> 

#RewriteRule ^(.*)$ index.php/$1 [PT,L]

ErrorDocument 404 /index.php

<强>的config.php

/**
* 
* @rt_page get URI and splitted by levels
*
* @level_* is a part of URI  
*/
$rt_page = explode("/",$_SERVER["REQUEST_URI"]); 
$level_1 = $rt_page[1]; 
$level_2 = $rt_page[2];
$level_3 = $rt_page[3];
$level_4 = $rt_page[4]; 
$level_5 = $rt_page[5]; 
$level_6 = $rt_page[6];
$level_7 = $rt_page[7]; 

<强>的index.php

include_once(config.php);

echo $level_1; // Receive the first position

我在这里做的是将URI分割为级别,使用此方法可以调用所需的内容。例如:

  • 当您致电https://www.example.com/ img234 时,您只需要执行“echo $ level_1;”在PHP中接收“img234”。