如何用htaccess更改url结构

时间:2014-02-02 01:06:07

标签: php regex apache .htaccess

我有这个网址myurl.com/index.php?hello=folder/7f6c06

我想将其更改为myurl.com/folder/7f6c06

我试过

       RewriteEngine On

       RewriteCond %{REQUEST_FILENAME} !-f
       RewriteCond %{REQUEST_FILENAME} !-d 
       RewriteRule ^([^/]+)/?$ index.php?hello=$1 [QSA,L]

不适用于godaddy托管。

1 个答案:

答案 0 :(得分:0)

它不起作用,因为您的模式([^/]+)会捕获所有内容但不包括第一个/,但您要捕获并传递到hello=的URI包含{ {1}}本身。由于在第一个/之后还有其他字符,但模式最多只能匹配一个/,因此模式永远不会与您拥有匹配。

相反,只需使用/所有内容捕获到可选的可能的尾部斜杠。

(.+)/?