Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ssl/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
.htaccess htaccess-simpleq_.htaccess_Ssl_Ssl Certificate - Fatal编程技术网

.htaccess htaccess-simpleq

.htaccess htaccess-simpleq,.htaccess,ssl,ssl-certificate,.htaccess,Ssl,Ssl Certificate,我真的很讨厌这个文件。。。我只是花了6.5个小时试图弄明白这一点,而对于我的多动症诵读困难症来说,这是不可能的!! 我有一个为SSL购买的域(目前我必须等待SSL for WWW启动,但目前没有WWW的域可以工作,例如: 我在root中拥有的.htaccess当前为: RewriteEngine On RewriteCond %{HTTP_HOST} tomas\.com [NC] RewriteCond %{SERVER_PORT} 80 RewriteRule ^(.*)$ https:/

我真的很讨厌这个文件。。。我只是花了6.5个小时试图弄明白这一点,而对于我的多动症诵读困难症来说,这是不可能的!! 我有一个为SSL购买的域(目前我必须等待SSL for WWW启动,但目前没有WWW的域可以工作,例如:

我在root中拥有的.htaccess当前为:

RewriteEngine On
RewriteCond %{HTTP_HOST} tomas\.com [NC]
RewriteCond %{SERVER_PORT} 80
RewriteRule ^(.*)$ https://tomas.com/$1 [R,L]
上面的代码实际上激活了SSL,这很好。问题是,我在根域中有几个文件,但其中一个文件名为:

hello.php
(位于:“tomas.com/hello.php”)

如果我去: 我希望它显示该文件(在地址栏中应该显示:http://tomas.com/hello"). 在SSL之前,我有下面的代码,它可以正常工作(但现在不行了):

知道整个.htaccess应该是什么样子吗/

我同时还试图强制它不要使用www(因此,如果他们使用www,应该将其重定向到非www url) 提前非常感谢

在SSL之前,我有下面的代码,它可以正常工作(但现在不行了):

以前不确定这是如何“工作”的,它本身并不是完整的,而且只需要添加一个
.php
扩展就可以了。您需要一些东西来防止重写循环,因为
hello.php
也匹配模式
^([^/]*)/?(.*)$

在HTTP到HTTPS重定向之后,请尝试以下操作

RewriteCond %{DOCUMENT_ROOT}/$1.php -f
RewriteRule (.*) $1.php [L]
首先检查文件扩展名为
.php
的文件是否存在,然后再对其进行内部重写

或者,如果不进行任何其他URL重写,您可以只启用多视图。例如,在文件顶部:

Options +MultiViews
这使用mod_协商基本上为所有内容启用无扩展URL!

“我真的讨厌这个文件…”:简单,不要使用它。将您的配置放在主Apache配置文件中。这提高了安全性、性能和简单性(更清晰的配置)。当然,根据网站的托管位置和方式,您可能无法访问Apache主配置文件。怀特先生,有什么想法吗?:)
RewriteCond %{DOCUMENT_ROOT}/$1.php -f
RewriteRule (.*) $1.php [L]
Options +MultiViews