【问题标题】:.htaccess Rewrite - Masking Dynamic .php extensions.htaccess 重写 - 屏蔽动态 .php 扩展
【发布时间】:2021-10-13 14:33:37
【问题描述】:

我知道之前有人就 .htaccess 提出过类似的问题,但经过数小时阅读问题、答案和评论,以及无数小时阅读 .htaccess 文档,甚至尝试 .htaccess 生成器......通过尝试示例弄乱我的网站访问...我来寻求比我更聪明的人的指导。

我正在使用以下 .htaccess 文件从浏览器中显示给用户的 URL 中删除 .php 扩展名

RewriteEngine on 
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteCond %{REQUEST_FILENAME}\.php -f 
RewriteRule ^(.*)$ $1.php

这完美无缺
www.example.com/users/player.php?id=1 正确显示为 www.example.com/users/player?id=1

我现在正在努力编写/查找/理解允许我重写完整扩展的示例

我想显示
www.example.com/users/player.php?id=1
作为
www.example.com/users/1
完全删除动态 URL 的 player.php?id= 部分

提前感谢您的任何帮助/指导。

【问题讨论】:

    标签: php .htaccess dynamic url-rewriting


    【解决方案1】:

    对于任何想做我想做的事的人,我已经找到了解决方案。

    问题:Htaccess rewrite with id

    回答:from Anubhava

    这将允许您将“edit.php?id=1”从外部屏蔽为“edit/id/1”,并可以互换使用任一 URL。

    RewriteEngine On
    RewriteBase /
    
    # external redirect from actual URL to pretty one
    RewriteCond %{THE_REQUEST} \s/([^/]+)/edit\.php\?id=([^\s&]+) [NC]
    RewriteRule ^ %1/edit/id/%2? [R=302,L,NE]
    
    RewriteRule ^([^/]+)/edit/id/([^/.]+)$ $1/edit.php?id=$2 [NC,L,QSA]
    

    祝你好运!

    【讨论】:

      猜你喜欢
      • 2015-03-14
      • 1970-01-01
      • 2014-12-22
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-12-24
      相关资源
      最近更新 更多