【发布时间】:2016-04-28 20:42:22
【问题描述】:
我正在我的站点var/www/mysite/ 的路径中创建一个 .htaccess 文件来删除我的文件“.php”,但它不起作用
# Apache Rewrite Rules
<IfModule mod_rewrite.c>
Options +FollowSymLinks
RewriteEngine On
RewriteBase /
# Add trailing slash to url
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_URI} !(\.[a-zA-Z0-9]{1,5}|/|#(.*))$
RewriteRule ^(.*)$ $1/ [R=301,L]
# Remove .php-extension from url
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME}\.php -f
RewriteRule ^([^\.]+)/$ $1.php
# End of Apache Rewrite Rules
</IfModule>
这是我第一次这样做,如果我做得不好,或者这是否在正确的地方,所以我来找你。
【问题讨论】:
-
检查重写日志。在无条件始终附加斜杠后,
RewriteCond /input/path/.php -f将永远不会匹配。 -
@anubhava 比如我有about.php,重定向about但是找不到。,但是如果我重定向到about.php就可以了。
-
www.mysite.com/about 失败了,但是 www.mysite.com/about.php 它的作品! @anubhava
-
不,它对我不起作用,我 .htaccess 但我仍然可以看到我的其他页面。