【问题标题】:.htaccess rewrite rule to remove extensions.htaccess 重写规则以删除扩展名
【发布时间】:2012-03-18 08:38:34
【问题描述】:

所以我有一个 .htaccess 重写规则来删除“.php”扩展名。有用。因此,现在当用户访问 /page 时,它​​会显示 /page.php。但是有什么办法可以让用户在访问 /page.php 时在地址栏中显示 /page?

【问题讨论】:

    标签: apache .htaccess


    【解决方案1】:

    试试这个:

    RewriteCond %{ENV:REDIRECT_STATUS} 200
    RewriteRule ^ - [L]
    
    RewriteRule (.+)\.php$ $1 [R,L]
    
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteCond %{REQUEST_FILENAME} !-l
    RewriteRule ^(.*)$ $1.php [L]   
    

    【讨论】:

    • 这会以任何方式影响 POST 方法吗?我遇到了问题。
    • 绝对不应该。你遇到了什么问题?
    • 问题是我页面上的所有链接都已经设置了“.php”扩展名。所以在我的表单中,它是 action="sendcontactus.php"。所以我猜会发生什么,当这个表单提交时,它会执行 url 重写到一个没有“.php”扩展名的链接,并且 POST 值会在这个过程中丢失。
    猜你喜欢
    • 2017-01-07
    • 2011-08-29
    • 1970-01-01
    • 2022-01-02
    • 1970-01-01
    • 1970-01-01
    • 2012-12-24
    • 2017-09-09
    • 1970-01-01
    相关资源
    最近更新 更多