我正在与使用Network Solutions进行托管的客户合作。我创建了他们的网站,以便使用.htaccess文件将所有.php扩展名隐藏在网址中。我的服务器上的一切工作正常,但当我将其传输到Network Solutions时,链接不起作用。他们给我一个模糊的答案,他们的服务器有这个问题,除非我使用扩展,否则它将无法工作。有没有办法围绕这个或另一个更简单的方法可行?
以下是我尝试过的两种方法,我尝试过,但Net Sol:
选项+多视图
和
重写发动机
RewriteCond%{REQUEST_FILENAME}!-d
RewriteCond%{REQUEST_FILENAME} .php -f
RewriteRule ^(。*)$ $ 1.php
答案 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 /目录/因为我的文件存放在子目录中。