【问题标题】:How to hide params passed in url using .htaccess如何使用 .htaccess 隐藏在 url 中传递的参数
【发布时间】:2020-05-31 21:57:31
【问题描述】:

我有一个特殊的情况,我的网站就像

www.example.com/page.php?url=homepage
。我正在尝试使用 .htaccess 文件使 url 看起来像
www.example.com/page/homepage/

通过在 url 中隐藏 ".php?url=" 部分。这可能吗?请提出建议。

【问题讨论】:

    标签: .htaccess


    【解决方案1】:

    试试这个:

    <IfModule mod_rewrite.c>
    Options +FollowSymlinks
    RewriteEngine on
    RewriteBase /
    
    # /anything/anything -> anything.php?url=anything
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteRule ^([A-Za-z0-9_])/([^/]*)$ /$1.php?url=$2 [L]
    
    </IfModule>
    

    如果page.php 文件名总是相同,那么就这样做吧:

    <IfModule mod_rewrite.c>
    Options +FollowSymlinks
    RewriteEngine on
    RewriteBase /
    
    # /page/anything -> page.php?url=anything
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteRule ^page/([^/]*)$ /page.php?url=$1 [L]
    
    </IfModule>
    

    【讨论】:

    【解决方案2】:
    RewriteEngine on
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteRule ^page/(.*)/$ /page.php?url=$1 [L]
    

    【讨论】:

      【解决方案3】:

      这个代码你可以隐藏你的页面名称

      RewriteRule    ^([A-Za-z0-9-]+)/([A-Za-z0-9-]+)/?$  pagename.php?name=$1&id=$2    [NC,L] 
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2020-05-07
        • 2018-12-08
        • 1970-01-01
        • 2011-10-09
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多