.htaccess htaccess-simpleq
我真的很讨厌这个文件。。。我只是花了6.5个小时试图弄明白这一点,而对于我的多动症诵读困难症来说,这是不可能的!! 我有一个为SSL购买的域(目前我必须等待SSL for WWW启动,但目前没有WWW的域可以工作,例如: 我在root中拥有的.htaccess当前为:.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:/
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