我有一个简单的问题,我试图使用下面的代码删除地址栏上的.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"我该如何解决这个问题?
您可以尝试使用这个:
RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME}.php -f
RewriteRule ^(.*)$ $1.php
示例:您的页面是:www.yoursite.com/yourpage.php。现在您可以访问不带".php"的同一页面。
也
您可以尝试删除[R]永久重定向(以删除您的错误),并在规则中保留扩展。
我希望这对你有帮助!
如果您只想从URL中删除.php
扩展名,只需使用Options +MultiViews
,无需重写。