php - .htaccess 为共享主机上的多个域隐藏 .php
问题描述
我有一个托管服务,其中包含我的主域和其他几个域(不是子域 - 它们是它们自己的网站)。我希望能够将以下代码用于此主目录中的任何域。
目前文件夹结构是这样的:
主域——(主目录/主域网站文件)。我们称之为 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]
解决方案
试试这个:
RewriteEngine On
RewriteCond %{THE_REQUEST} ^\w+\ /(.*)\.php(\?.*)?\ HTTP/
RewriteRule ^ http://%{HTTP_HOST}/%1 [R=301]
RewriteCond %{REQUEST_FILENAME}.php -f
RewriteRule .* $0.php
推荐阅读
- ios - 无法将“UITableViewCellContentView”(0x111d61280)类型的值转换为“UIImageView”(0x111d4cdd0)
- regex - 使用 Scala 正则表达式从文本中提取 9+.9* 格式的数字
- ios - 初始视图控制器未出现
- contiki - 如何从 csma.c 文件访问变量?- 康蒂基
- html - 如何将纹理应用于使用挤压制作的对象
- matplotlib - python 3数字在ubuntu上冻结
- django - 如何在 django 模型中查询特定的外部记录
- machine-learning - Inception V3 图像分类
- ssas - 动态测量测量 (MDX)
- c# - Serilog 排除了自定义记录器提供程序