我现在尝试了很多不同的方法而且非常沮丧
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配置中遗漏了什么?