.htaccess隐藏.php用于共享主机上的多个域

时间:2018-10-18 04:27:07

标签: php apache .htaccess

我有一个托管服务,其中包含我的主域和其他几个域(不是子域-它们是他们自己的网站)。我希望能够将以下代码用于此主目录中的任何域。

当前文件夹结构如下:

主域-(主目录/主域网站文件)。我们将其称为www.maindomain.com

其他域-(主目录/其他域/其他域的网站文件)。我们将其称为www.otherdomain.com

以下代码完全隐藏了.php文件扩展名。这样,即使用户输入不带文件扩展名的链接,它仍将转到指定的页面,并且仍不显示.php

显然,此代码仅适用于主域。但是,我真的很想知道如何更改它,使其也可以在其他域中使用。

我真的希望有人可以帮助我! :)

RewriteCond %{SERVER_PORT} 80 
RewriteRule ^(.*)$ https://www.maindomain.com/$1 [R,L]

## 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]

1 个答案:

答案 0 :(得分:0)

尝试一下:

RewriteEngine On

RewriteCond %{THE_REQUEST} ^\w+\ /(.*)\.php(\?.*)?\ HTTP/
RewriteRule ^ http://%{HTTP_HOST}/%1 [R=301]

RewriteCond %{REQUEST_FILENAME}.php -f
RewriteRule .* $0.php