Articles of .htaccess

.htaccess文件大小是否重要?

我想知道.htaccess的文件大小是否重要? 我读过一个大的.htaccess文件会降低网站性能。 我的.htaccess文件大小是51KB ,它包含大约500 lines ,大多数是RewriteCond %{HTTP_REFERER}规则来阻止垃圾邮件引用网站。 但我没有注意到任何网站加载滞后或性能问题。 如果我将这500个RewriteCond %{HTTP_REFERER}行转换为20行,每行包含25个垃圾邮件引用域名,使用()和| 符号,它会改变什么? 例如转换以下行: RewriteCond %{HTTP_REFERER} hol\.es [NC,OR] RewriteCond %{HTTP_REFERER} hys\.cz [NC,OR] RewriteCond %{HTTP_REFERER} zzz\.com\.ua [NC,OR] RewriteCond %{HTTP_REFERER} hypersito\.com [NC,OR] RewriteCond %{HTTP_REFERER} tode\.cz [NC,OR] RewriteCond %{HTTP_REFERER} mzf\.cz [NC,OR] 如下: RewriteCond %{HTTP_REFERER} (hol\.es|hys\.cz|zzz\.com\.ua|hypersito\.com|tode\.cz|mzf\.cz) [NC,OR] 它会减lessCPU负载并导致更less的CPU周期? 还是会保持相同的500个单独的行?

.htaccess代码将HTTP请求redirect到HTTPS

我最近把我的网站从HTTP迁移到HTTPS。 我在各种网站上阅读关于使用.htaccess代码将所有HTTP请求redirect到HTTPS。 许多网站提供不同的代码,现在我很困惑我应该使用哪个代码。 以下是在各种网站上find的4个代码: 第一码: RewriteEngine on RewriteCond %{HTTP_HOST} ^yoursite.com [NC,OR] RewriteCond %{HTTP_HOST} ^www.yoursite.com [NC] RewriteRule ^(.*)$ https://www.yoursite.com/$1 [L,R=301,NC] 第二码: RewriteEngine On RewriteCond %{HTTPS} !=on RewriteRule ^/?(.*) https://%{SERVER_NAME}/$1 [R,L] 第三码: RewriteCond %{SERVER_PORT} 80 RewriteRule ^(.*)$ https://www.example.com/$1 [R,L] 第四码: NameVirtualHost *:80 <VirtualHost *:80> ServerName www.example.com Redirect permanent / https://secure.example.com/ </VirtualHost> <VirtualHost _default_:443> ServerName secure.example.com DocumentRoot /usr/local/apache2/htdocs […]

在公共文件夹中安装php文件带有安全风险吗?

在我的根文件夹中有一个config.php。 用户可以访问domain.com/config.php然而,该文件不会回显/打印任何configuration。 我仍然需要否认某些.htaccess规则,还是安全呢? 特别是它是一个WordPress的应用程序,我只是意识到,我可以打开wp-config.php

在CentOS + Apache中启用好的URL /永久链接

我们有一个新的CentOS框,我们需要启用漂亮的URL /永久链接。 我们正在运行安装了mod_rewrite的Apache,但是我知道我需要编辑一些configuration文件来启动和运行基础知识。 哪些步骤和文件需要更改才能启动并运行?

PHP,使用htaccess的URL重写和Microsoft IIS Url重写?

我习惯于使用Apache服务器,所以当启用mod_rewrite时,我可以创build一个htaccess文件并使用url重写。 这是我的htaccess文件: RewriteEngine On RewriteCond %{REQUEST_FILENAME} -s [OR] RewriteCond %{REQUEST_FILENAME} -l [OR] RewriteCond %{REQUEST_FILENAME} -d RewriteRule ^.*$ – [NC,L] RewriteRule ^.*$ index.php [NC,L] 现在我已经build立了这个网站,使用这个URL重写模块,但我来了解到,它是一个微软的服务器。 我可以使用我的htaccess文件吗? 有什么我需要改变,以使其工作? 如何知道是否在Microsoft服务器上设置了URL重写? 更新:有一个免费的版本,我可以安装与htaccess文件的作品?

.htaccess重写不正确的URL

我正在从一个旧的服务器迁移到一个新的网站,在这个过程中,我遇到了一些麻烦,Apache和mod_rewrite。 我有以下.htaccess文件: RewriteEngine on RewriteRule ^audio/(.*?)/.*?$ audio.php?id=$1 RewriteRule ^books/(.*?)/.*?$ books.php?id=$1 audio.php和books.php被调用,除了被捕获的variables没有被传递,所以在audio.php重写的情况下,我服务的是audio.php页面,但是$_GET是空的。 为了testing发生了什么,我添加了RewriteRule (.*) test.php?a=$1 ,其中test.php刚刚抛弃了$_GET当我做了$_GET['a']包含'test.php'。 在错误日志中没有任何东西显示出来,而且正确的文件被清楚地显示出来了,重写的工作基本上是正常的,而且configuration已经AllowOverride All我在做什么错了? 我想清楚,这个htaccess文件在旧的服务器上工作。

Windows上的Apache不能读取.htaccess文件

我在Windows上安装了Apache。 在我的httpd.conf文件中,我将AllowOverrides设置为All。 我在我的DocumentRoot目录中放置了一个.htaccess文件,但没有被读取。 我知道它没有被读取,因为如果我直接将内容添加到我的httpd.conf文件,他们正在读取。 我还有什么遗漏?

Apache htaccess .phps?

所以我希望用户能够为“foo.php”脚本运行写“foo.phps”,以显示该文件的来源。 我只想在一个目录中这样做(因为这是一个安全风险)。 我可以使用.htaccess吗? 我在目录中添加了一个.htaccess文件,并在其中写入: AddType application/x-httpd-php-source .phps 然后重新启动Apache,但是我不能将“s”添加到文件中以获取源代码。 我是否也需要使用PHP来做些什么?

重新写入新的URL,并将旧的页面重新写入新的URL

我有products.php,我试图改变成/ europe-cell-phone /。 我做了一个重写规则来做到这一点: RewriteRule ^europe-cell-phone/$ products.php [L] 但是,我也需要301旧页面(products.php)到/ europe-cell-phone /。 我试图用以下规则来做到这一点: RewriteRule ^products.php$ http://www.eurobuzz.com/europe-cell-phone/ [R=301,L] 然而,当然,当我去products.php期待被redirect,我打了一个无限的redirect循环,有没有解决这个问题? 以前从未遇到过这个问题。

rewriterules + httpd.conf + .htaccess问题(急迫站点down)

我正在将我的一个网站从dreamhost共享到dreamhost ps。 将复制的文件和DNSparsing到新的服务器。 然而试图得到一个pagw带来了错误403访问被禁止。 如果我从网站的目录中删除.htaccess文件。 主页加载好,但自然其他页面不(因为它需要重写当前在.htaccess中定义)。 我相信httpd.conf阻止在新服务器中使用.htaccess。 引用: <Directory /> Options FollowSymLinks AllowOverride None Order deny,allow Deny from all </Directory> 我试图删除htaccess并在httpd.conf中实现重写规则。 没有成功。 我的问题:1.我尝试AllowOverride所有使.htacces工作。 它没有改变任何东西。 还有什么要检查/完成它的工作? 我在httpd.conf中创build了一个目录部分,其中包含httpdocs的目录,并将所有的重写规则放在那里。 (并重新启动服务器)。 它没有效果。 任何提示,应该做些什么来添加与rewriterules的目录部分.httpd.conf和疑难解答提示? 如何检查mod-rewrite是否在这个服务器上工作? 它在httpd.conf文件中启用。 服务器处于fastcgi模式。 任何其他技巧,非常赞赏。 谢谢,尼罗 如何在httpd.conf中的.htaccess中移动重写规则(并使其工作)