微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

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

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

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐