使用.htaccess删除文件扩展名(Apache2)

时间:2016-02-05 19:06:03

标签: php apache .htaccess

我现在尝试了很多不同的方法而且非常沮丧

Options -Indexes
Options +MultiViews

RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME}\.php -f
RewriteRule ^(.*)$ $1.php

^根本不起作用

Options -Indexes
Options +MultiViews
<IfModule mod_rewrite.c>

RewriteEngine On
RewriteBase /

# Unless directory, remove trailing slash
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^([^/]+)/$ http://squeakcode.com/$1 [R=301,L]

# Redirect external .php requests to extensionless url
RewriteCond %{REQUEST_METHOD} !POST
RewriteCond %{THE_REQUEST} ^(.+)\.php([#?][^\ ]*)?\ HTTP/
RewriteRule ^(.+)\.php$ http://squeakcode.com/$1 [R=301,L]

# Resolve .php file for extensionless php urls
RewriteRule ^([^/.]+)$ $1.php [L]

</IfModule>

^可以工作,但会转到不存在的页面。

如上所述,第二个代码片段的工作方式。问题是它删除了.php,但没有拉出.php文件,因此它转到了一个未找到的页面。

我在Apache配置中遗漏了什么?

0 个答案:

没有答案