Apache .htacces重写规则以删除.php文件扩展名

Apache .htacces重写规则以删除.php文件扩展名,第1张

概述Apache .htacces重写规则删除.php文件扩展名

标题解释了基本知识,现在,问题来了:

我有很多这样的文件:

<?PHP include 'mynavbar.PHP'; include 'myheader.PHP'; include 'myfirstline.PHP'; include 'mybuttons.PHP'; include 'myadvert.PHP'; include 'myimg.PHP';?>

我不能编辑所有的文件,并删除.PHP 。 如何在地址栏中不显示.PHP ,但仍可以使用.PHP结尾包含页面

Apacheconfiguration:正则Expression式禁止访问以点开头的文件/目录

添加过期标题没有mod_expires?

RewriteCond在.htaccess否定正则Expression式不起作用?

如果不是带有apache的目录,则删除结尾的斜杠

了解redirect和重写.htaccess之间的区别

用PHP模拟文件结构

通过httpd.conf / htaccessredirect一个目录下的所有文件

重写问题 – L(ast)不被尊重?

请解释这个错误日志

什么是“头附加vary User-Agent”,如何从“vary”中删除“User-Agent”string?

下面的代码应该在.htaccess文件中为你隐藏.PHP扩展名:

Options +FollowSymlinks -multiviews RewriteEngine on # to make `/path/index.PHP` to /path/ RewriteCond %{THE_REQUEST} ^GETs(.*/)index.PHP [NC] RewriteRule . %1 [NE,R=301,L] RewriteCond %{THE_REQUEST} ^GETs.+.PHP [NC] RewriteRule ^(.+).PHP$ /$1 [NE,L,NC] RewriteCond %{REQUEST_filename} !-d RewriteCond %{document_ROOT}/$1.PHP -f RewriteRule ^(.*?)/?$ $1.PHP [L]

还要记住,这些规则将不会影响你的PHP包括例如: include 'myheader.PHP';

这是因为这些包括由PHP本身处理,不通过Apache。

下面的RewriteRules将假定任何没有匹配的文件的PHP扩展。 它应该在你的.htaccess文件的RewriteRules的底部。

# Force PHP extension if not a directory RewriteCond %{document_ROOT}%{REQUEST_URI} -d RewriteRule ^(.*)$ - [L] RewriteCond %{document_ROOT}/$1.PHP -f RewriteRule ^((.*/)*[^./]+)/*$ $1.PHP [L]

这是为了URL重写。 至于include语句,您仍然需要PHP扩展,因为这些是物理文件路径。 如果你需要这样的东西,你应该看看符号链接。

你没有采取正确的道路来解决你试图解决的问题。

如果我理解的很好,你想要做的是有一个像这样的网址:

http://example.com/my/url

而不是(例如):

http://example.com/my/url.PHP

如果是这种情况,你应该寻找的是重写网址

总结

以上是内存溢出为你收集整理的Apache .htacces重写规则以删除.php文件扩展名全部内容,希望文章能够帮你解决Apache .htacces重写规则以删除.php文件扩展名所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址:https://www.54852.com/langs/1264668.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2022-06-08
下一篇2022-06-08

发表评论

登录后才能评论

评论列表(0条)

    保存