如何在Windows 7中将文件重命名为.htaccess?


62

我正在使用XAMPP测试PHP脚本。现在,我要.htaccess根据脚本的要求在文件夹的根目录下放置一个文件。

但是Windows不允许我将其重命名为.htaccess。有什么办法可以解决吗?

我正在使用Windows 7 RTM。



Answers:


78

该链接讨论了XP上的相同问题。

我将让您阅读并确定它是否适用于Windows 7,但是解决方案涉及使用命令行。

编辑:

它始于Windows 允许您创建htaccess.txt文件的事实,
然后

Start Run > cmd

然后输入

rename c:\pathtoyourhtaccessfile\htaccess.txt .htaccess

会成功的


7
大声笑,这是Windows引起的另一个奇怪问题!
艾哈迈德·阿尔菲

83

多亏了https://serverfault.com/questions/22626/rename-files-to-empty-filename-in-windows-vista,我学到了一个新技巧。由于此页面在该错误消息的更高位置显示在Google中,因此我想也将其链接到此处。

本质上,如果您想在资源管理器中执行此操作,请将其命名为.htaccess。带尾随点。尾随点告诉Windows扩展名是什么,首字母和点告诉它文件名(不带扩展名)应该是什么。似乎允许不带扩展名的文件,但不允许不带文件名的文件。幸运的是,没有扩展名的文件不需要点,因此我们删除了创建所需文件名的文件(这只是扩展名-请参阅Windows报告的文件类型?)

您可以使用任何字符串(不仅是htaccess)执行此操作。这对我来说有点道理,因为以点开头的文件具有特殊含义。


1
这是错误还是功能?
etuardu 2012年

3
这是一个错误,直到有人找到它的用途,然后它才是一个功能……现在正式是一个功能。:)
jx12345 2014年

1
太棒了,所以您只需输入.filename.就可以.filename
Daniel Little

9

不要在Windows资源管理器中创建文件。在您正在使用的任何程序(记事本,vim,eclipse等)中创建它。然后选择“另存为”,并确保选择“所有文件”。输入.htaccess。它应该工作。

“所有文件”是为了防止程序自动添加文件类型扩展名(例如.htaccess.txt)


6

您可以做的一件事是使用另一个文件作为.htaccess文件。

打开httpd.confXAMPP安装程序或调用XAMPP安装程序的Apache配置文件。

查找开头的行,AccessFileName并将结尾的值更改为Windows允许您将其另存为的内容。

AccessFileName htaccess.txt

如果找不到该行,只需添加以上内容即可。

然后重新启动XAMPP。

不过,当您上传到实时站点时,您将必须记住要重命名它。


7
也许这个答案从字面上讲就是“解决问题的任何办法”。
随机

恕我直言,这无疑是最好的答案。请记住,当您上传站点时,无论如何,您都将位于其他服务器上。这意味着您可能仍要在那里使用其他配置。在大多数情况下,上载并为服务器单独设置文件时,只需保留这些文件不变即可。我建议,如果你在Win和上传到服务器林开发,你在服务器上更改此设置,以及让那些可以在Win编辑很好,但给服务器不同的名称(例如,htaccess.dev.confhtaccess.prod.conf会好)。
krowe2

还有一件事要提到的是,大多数http.conf文件都包含几行内容,以防止下载这些文件... <Files ".ht*"> Require all denied </Files>...进行更改,<Files "ht*.*.conf"> Require all denied </Files>以使这些文件不可供下载(不要忘记将缺少的换行符放回;这是评论,因此我将其删除)。
krowe2

还有一点要提到的是,如果您使用的是基本身份验证,则还需要对文件使用类似的命名方案,.htpasswd以使它们也保持隐藏状态。
krowe2

4

我认为在旧的Windows XP时代,仅引用文件名就足够了吗?这些引号随后将被Windows删除。因此,重命名将文件另存为:

“ .htaccess”

当然,这仅在从“记事本” 保存时有效,然后还可以防止.txt添加默认值。我不是100%肯定它也可以在Windows资源管理器中工作。但是在Windows XP中,它不能在Windows资源管理器中运行,因为那时甚至都不能键入引号。如果没有引号,它将产生“您必须输入文件名”。因为它不喜欢前导点。使用对话框时出现与通过右键单击»属性显示的相同错误。)


4

只需命名它.htaccess.结束点将被Windows自动删除,并保留.htaccess其应有的名称。


3
这与一年多以前的答案完全相同。
蒂姆·皮茨克

1
“精确”?否。无论如何,我一直在寻找这个问题的答案,并自己解决了。但是由于我以前从未见过有人这么说,所以我在这里搜索了这个问题,因此我可以确保其他需要知道的人都知道了这一信息。我接受的答案是次要的答案。没注意到对方。申请者应该将接受的答案更改为该答案,因为这是一个更好的答案。
zeel 2012年

您会意识到,如果答案正确,它会使人们感到困惑,但是却被否决了。现在,虽然我的答案是完全正确的,但其他寻求该信息的人可能会被否定分数误导。
zeel 2012年

2
FWIW,我没有对此表示反对。但是我认为,您应该删除答案,因为另一个答案要好得多:它不只是说“这很神奇!”。但说明了它为什么起作用。和您在一起大约晚了一年。
Tim Pietzcker 2012年

2
先前的答案没有明确提及:尾点将消失 -这样,该答案仍然成立。
Ujjwal Singh
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.