使用.htaccess隐藏扩展程序无法使用Network Solutions

时间:2015-01-19 20:43:05

标签: php .htaccess

我正在与使用Network Solutions进行托管的客户合作。我创建了他们的网站,以便使用.htaccess文件将所有.php扩展名隐藏在网址中。我的服务器上的一切工作正常,但当我将其传输到Network Solutions时,链接不起作用。他们给我一个模糊的答案,他们的服务器有这个问题,除非我使用扩展,否则它将无法工作。有没有办法围绕这个或另一个更简单的方法可行?

以下是我尝试过的两种方法,我尝试过,但Net Sol:

选项+多视图

重写发动机 RewriteCond%{REQUEST_FILENAME}!-d
RewriteCond%{REQUEST_FILENAME} .php -f
RewriteRule ^(。*)$ $ 1.php

2 个答案:

答案 0 :(得分:1)

之前我还遇到了删除.html或.php扩展表单网址的问题。

我有一个解决方案

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

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

## To internally redirect /dir/foo to /dir/foo.php
RewriteCond %{REQUEST_FILENAME}.php -f
RewriteRule ^ %{REQUEST_URI}.php [L]

将上面的代码放在.htaccess文件中,上面的代码是.php文件。

希望它可以帮助你...... :)

答案 1 :(得分:0)

我在这里找到了解决方案:Mod-rewrite not working on Network Solutions server。需要添加RewriteBase /目录/因为我的文件存放在子目录中。