再次从网址中删除php(!)

格里菲斯

我已经看到了很多关于此的文章,所以很抱歉。我试图阅读一下它是如何工作的,但收效甚微:从这里开始是我的.htaccess

RewriteEngine On
RewriteCond %{HTTPS} !=on
RewriteRule ^ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]

RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(([^/]+/)*[^.]+)$ /$1.php [L]

第一个将http设置为https-它可以使.htaccess处于活动状态。第二个是从网址中删除.php的-并非如此。

我的主要问题是如何从每个URL中删除.php。我的第二个重写规则就是要这样做,但事实并非如此。是的,它是从上一个问题中复制而来的,但是我真的很想确切地理解语法的含义,以便我能理解为什么它不起作用。

所以我的问题是:

  1. 任何人都可以点我到语法的体面的解释RewriteCondRewriteRule我看过许多文档,包括Apache http://httpd.apache.org/docs/current/rewrite/ docs,但我的情况并不好。
  2. 和/或为什么无法删除.php?

一个厚脸皮的简单问题...我需要重复RewriteEngine On还是只需要一次?

阿努巴瓦

像这样(请参阅每个规则上方的注释):

RewriteEngine On

# redirect externally http -> https for non POST data
RewriteCond %{REQUEST_METHOD} !POST
RewriteCond %{HTTPS} off
RewriteRule ^ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301,NE]

# To externally redirect (change URL in browser) /dir/file.php to /dir/file
RewriteCond %{REQUEST_METHOD} !POST
RewriteCond %{THE_REQUEST} \s/+(.+?)\.php[\s?] [NC]
RewriteRule ^ /%1 [R=301,NE,L]

# To internally (silent) rewrite /dir/file to /dir/file.php
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME}.php -f
RewriteRule ^(.+?)/?$ $1.php [L]

参考

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

再次从网址中删除php(!)

来自分类Dev

从网址中删除.php

来自分类Dev

从网址中删除.php

来自分类Dev

在网址中添加www并从网址中删除.php

来自分类Dev

CodeIgniter从网址中删除index.php

来自分类Dev

从网址中删除php扩展名

来自分类Dev

从网址中删除信息-PHP / htaccess

来自分类Dev

我想从php的网址中删除%20

来自分类Dev

从网址中删除2目录和php

来自分类Dev

从网址中删除.php并添加异常(htaccess)

来自分类Dev

从CodeIgniter 3中的网址中删除index.php

来自分类Dev

从网址中删除斜杠

来自分类Dev

从网址中删除片段

来自分类Dev

从网址中删除参数

来自分类Dev

从网址中删除片段

来自分类Dev

从网址中删除.jpg

来自分类Dev

从网址中删除“应用”

来自分类Dev

Yii2从网址中删除index.php

来自分类Dev

.htaccess从网址中删除index.php并隐藏参数键

来自分类Dev

Codeigniter从浏览器网址中删除index.php

来自分类Dev

如何从网址中删除index.php / html

来自分类Dev

nginx重定向循环,从网址中删除index.php

来自分类Dev

从网址中删除PHP文件扩展名

来自分类Dev

从网址中删除.php和id并用斜杠替换

来自分类Dev

从网址中删除web / app_dev.php /

来自分类Dev

使用.htaccess从网址中删除index.php

来自分类Dev

使用重写规则从网址中删除.php

来自分类Dev

从网址中删除.php和id并用斜杠替换

来自分类Dev

从网址中删除php文件扩展名