dongtuo5262 2014-02-02 01:06
浏览 16
已采纳

如何用htaccess更改url结构

I have this url myurl.com/index.php?hello=folder/7f6c06

I want to change it to myurl.com/folder/7f6c06

I tried

       RewriteEngine On

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

is not working in godaddy hosting.

  • 写回答

1条回答 默认 最新

  • duancheng6221 2014-02-02 01:14
    关注

    It doesn't work because your pattern ([^/]+) captures everything up to but not including the first /, but the URI you are looking to capture and pass into hello= includes a / itself. Since there are additional characters after the first / but the pattern matches at most one / optionally at the end, the pattern would never match as you have it.

    Instead just use (.+)/? to capture everything up to an optional possible trailing slash.

    RewriteEngine On
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteCond %{REQUEST_FILENAME} !-d 
    RewriteRule ^(.+)/?$ index.php?hello=$1 [QSA,L]
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?