我有一个托管服务,其中包含我的主域和其他几个域(不是子域-它们是他们自己的网站)。我希望能够将以下代码用于此主目录中的任何域。
当前文件夹结构如下:
主域-(主目录/主域网站文件)。我们将其称为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]
答案 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