doutucui0133 2016-04-25 15:47
浏览 47
已采纳

.htaccess无法正常工作 - 从URL中删除.php文件扩展名

I'm having trouble removing the .php file extensions from URLs using the .htaccess file.

Previously, all pages were HTML and I had successfully rewritten URLs to drop the .html extensions, but it just doesn't seem to be working for .php — I'm just getting 404 errors.

.htaccess Contents

ErrorDocument 404 http://www.brianglassmandesign.com/404.php

RewriteEngine on
RewriteCond %{HTTP_HOST} ^brianglassmandesign.com [NC]
RewriteRule ^(.*)$ http://www.brianglassmandesign.com/$1 [L,R=301,NC]

# Remove file extension
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule (.*) $1.php [L]
  • 写回答

1条回答 默认 最新

  • duanquannan0593 2016-04-25 17:17
    关注

    There is no reason as to why the files are not being picked up, giving consideration to the fact that the only change you made was the extension. As such, I recommend that you double-check to see if the file being requested actually exists, and has been renamed from the old .html equivalent.

    The only .htaccess suggestion I can offer that is an alternative to what you have is the following:

    RewriteCond %{REQUEST_FILENAME}.php -f
    RewriteRule (.+) $1.php [L]
    

    This means that the rewrite will only occur if the file exists. So, if you request /something and /something.php exists on the file-system, then it will be served accordingly.

    Failing which, you'll need to check the relevant logs to determine what the problem may be.

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

悬赏问题

  • ¥15 unity从3D升级到urp管线,打包ab包后,材质全部变紫色
  • ¥50 comsol温度场仿真无法模拟微米级激光光斑
  • ¥15 上传图片时提交的存储类型
  • ¥15 Ubuntu开机显示器只显示kernel,是没操作系统(相关搜索:显卡驱动)
  • ¥15 VB.NET如何绘制倾斜的椭圆
  • ¥15 arbotix没有/cmd_vel话题
  • ¥15 odoo17的分包重新供应路线如何设置?可从销售订单中实时直接触发采购订单或相关单据
  • ¥15 用C语言怎么判断字符串的输入是否符合设定?
  • ¥15 通信专业本科生论文选这两个哪个方向好研究呀
  • ¥50 我在一个购物网站的排队系统排队,这个排队到号后重新定向到目标网站进行购物,但是有技术牛通过技术方法直接跳过排队系统进入目标网址购物,有没有什么软件或者脚本可以用