隐藏.php地址栏对象未找到

时间:2013-06-25 04:39:01

标签: php .htaccess

我有一个简单的问题,我尝试使用下面的代码删除地址栏上的.php

Options +FollowSymLinks -MultiViews
# Turn mod_rewrite on
RewriteEngine On
RewriteBase /

# To externally redirect /dir/foo.php to /dir/foo/
RewriteCond %{THE_REQUEST} ^[A-Z]{3,}\s([^.]+)\.php [NC]
RewriteRule ^ %1 [R,L]

# To internally redirect /dir/foo/ to /dir/foo.php
RewriteCond %{DOCUMENT_ROOT}/$1.php -f
RewriteRule ^(.*?)/?$ $1.php [L]

并且它可以工作,但最终它继续显示“OBJECT NOT FOUND”如何解决这个问题?

2 个答案:

答案 0 :(得分:1)

你可以尝试使用它:

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

示例:您的页面是:www.yoursite.com/yourpage.php。现在您可以访问没有“.php”的同一页面。

同时

您可以尝试删除[R]永久重定向(删除错误),并在规则中保留扩展名。

我希望这会对你有所帮助!

答案 1 :(得分:0)

如果你只想删除网址中的.php扩展程序,只需使用Options +MultiViews,无需重写。