【问题标题】:How to remove parameter from URL如何从 URL 中删除参数
【发布时间】:2022-01-02 13:40:14
【问题描述】:

如果之前有人问过这个问题,但我找不到我的问题的具体实例,我深表歉意。

如何实现这个www.example.com/index.php?user=johnwww.example.com/john

我已经在使用它来删除 .php 扩展名,但它不能修复用户参数。

RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^([^\.]+)$ $1.php [NC,L]
RewriteCond %{SERVER_PORT} 80 
RewriteRule ^(.*)$ https://www.example.com/$1 [R,L]
RewriteCond %{HTTP_HOST} ^example.com [NC]
RewriteRule ^(.*)$ https://www.example.com/$1 [L,R]

ErrorDocument 404 /error.php

RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^/([A-Za-z0-9_]+) ?user=$1

我非常重视任何回复。请帮忙。

【问题讨论】:

    标签: apache .htaccess mod-rewrite


    【解决方案1】:

    根据您显示的尝试,请尝试遵循 htaccess 规则。考虑到您必须将参数传递给后端的 index.php 文件。

    还要确保在测试 URL 之前清除浏览器缓存。

    RewriteEngine ON
    ##External redirect rules here.
    RewriteCond %{THE_REQUEST} \s/index\.php\?user=(\S+)\s [NC]
    RewriteRule ^ /%1? [R=301,L]
    
    ##Internal rewrite rules here..
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteRule ^([^/]*)/?$ index.php?user=$1 [QSA,L]
    

    【讨论】:

    • 谢谢你的回复,但这会增加目录
    • @unobatbayar,如答案中所述,如果您的文件夹中有 index.php,请告诉我?或者您想从后端提供哪个文件的 url?
    • 对不起。是的,有 index.php 文件。在这个文件中,我们检查用户 GET 参数@ravindersingh13
    • @unobatbayar,请检查我更新的规则并告诉我进展如何?
    • 非常感谢您的帮助,但结果相同:/
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2018-07-19
    • 2014-09-08
    • 2014-10-25
    • 1970-01-01
    相关资源
    最近更新 更多