Articles of .htaccess

Opencart .htaccess

我对OC很新,正在运行最新版本。 我准备将我的网站开放给(可能)数百个我希望看到的人,然后再买下它! 我的问题是最后一点,作为网站的安全性之前,我已经阅读了网页安全的3个好主意,我有点困惑。 有些人可以用一些简单的术语来解释我需要做什么,一个白痴指导如何去做。 我想使我的网站尽可能安全,或者至less可以像newb一样可以不破坏它。

.htaccess只在一些主机scheme上忽略了两层

我有一个.htaccess文件这样做: RewriteRule ^system(.*)$ /system/app/$1 [QSA,L] …然后在/ system / app下面,我有另一个.htaccess文件这样做: RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule . index.php [QSA] 所以,当你连接到/ system和/ system / login时,在两种情况下都应该调用/system/app/index.php。 在我正在使用的大部分托pipe计划中,这是有效的。 但在一些客户托pipe计划,我得到一个不寻常的结果。 这种不寻常的结果是,我可以连接到/系统只是罚款和index.php加载,但如果我连接到/系统/login,我得到了404。我什至简化/system/app/index.php,并简单地做: <?php print_r($_SERVER); …但它只显示/系统上的结果,并显示404如果/系统/login。 现在,切换到另一个人的托pipe计划,它工作正常 – 这只是在一些托pipe计划。 你认为可能是什么问题? 是mod_security吗? 打开MultiView吗? 这是一个特定版本的Apache造成这个? 这是Apache的错误吗? 我很困惑。 编辑 :我几乎想知道是否有一个新的Apacheconfiguration,只会让你有一个.htaccess文件在根目录,或不会让你有一个.htaccess文件加载,然后调用另一个.htaccess文件在子文件夹。 编辑 :在尝试closures这个问题之前等待“太本地化”。 听我一分钟。 如果这是Apache或cPanel中的一个全新的选项,可以打开,创build这个问题,或者是一个新的mod_security的东西,你不觉得这将是一个问题,将影响人的吨,而不仅仅是HostGator的?

(WordPress).htaccessredirect实际的子文件夹位置

我在根目录下设置了WordPress,但是我有一个与WordPress无关的子文件夹。 我只是移动服务器,所以之前,如果我去.com/admin/我会得到该子文件夹。 现在,我(和其他人)被redirect到.com/wp-admin/ (或者被要求用计划redirect到wp-adminlogin)。 我以为服务器/ Apache会先说“哦,这里是你的文件夹/文件,不需要打扰这个.htaccess,谢谢!” 而不是“哦,我必须通过这个.htaccess运行,哦,你匹配这个WordPress的,所以你redirect到/index.php,谢谢! (根index.php是WordPress。) 根位置中的.htaccess是标准WP规则和WP-Supercache规则。 order allow,deny #ip blocking allow from all Options -MultiViews RewriteEngine on # BEGIN WPSuperCache <IfModule mod_rewrite.c> RewriteEngine On RewriteBase / #If you serve pages from behind a proxy you may want to change 'RewriteCond %{HTTPS} on' to something more sensible AddDefaultCharset UTF-8 RewriteCond %{REQUEST_URI} !^.*[^/]$ RewriteCond […]

并不是所有的.htaccess文件都被读取

我已经使用MAMP和Ubuntu服务器多年,但最近尝试在Mac OS X 10.7.5上使用内置的Apache服务器。 我的问题是我的一些.htaccess文件正在阅读,有些则没有。 我有2个网站,这里是他们的虚拟主机设置: <VirtualHost *:80> ServerName site1.rob DocumentRoot /Users/username/Sites/localSites/site1/public/ <Directory /> Options Indexes FollowSymLinks MultiViews AllowOverride All Order allow,deny allow from all </Directory> </VirtualHost> <VirtualHost *:80> ServerName site2.rob DocumentRoot /Users/username/Documents/Dropbox/site2/public/ <Directory /> Options Indexes FollowSymLinks MultiViews AllowOverride All Order allow,deny allow from all </Directory> </VirtualHost> 网站1工作,因为它应该,但网站2没有。 所以我跑了一个testing。 在每个.htaccess文件中,我做了一个环境检查。 SetEnv HTACCESS on 然后,我用这个检查在根中创build了一个PHP文件。 […]

启用来自retina.js Nginx的跨源脚本从另一个URL加载文件?

我运行一个视网膜图像插件与W3cachingCDN支持。 W3caching将图像移动到S3,但由于URL的不同,JS文件将不会从那里服务器的文件(它从htp://mysite.com到htp://assets.mysite.com) 我发现一个post,说这只是把这个添加到你的.htaccess # ———————————————————————- # CORS-enabled images (@crossorigin) # ———————————————————————- # Send CORS headers if browsers request them; enabled by default for images. # developer.mozilla.org/en/CORS_Enabled_Image # blog.chromium.org/2011/07/using-cross-domain-images-in-webgl-and.html # hacks.mozilla.org/2011/11/using-cors-to-load-webgl-textures-from-cross-domain-images/ # wiki.mozilla.org/Security/Reviews/crossoriginAttribute <IfModule mod_setenvif.c> <IfModule mod_headers.c> # mod_headers, yu no match by Content-Type?! <FilesMatch "\.(gif|png|jpe?g|svg|svgz|ico|webp)$"> SetEnvIf Origin ":" IS_CORS Header set Access-Control-Allow-Origin "*" env=IS_CORS </FilesMatch> […]

如何更改多个停放的域名的文档根?

我能够使用此处所述的方法更改我的一个停放的域名的文档根目录 : 更改停放域的文档根目录? 由rutiolma。 虽然,当我尝试添加另一个域名时,它不起作用。 这就是我的redirect: #Modify parked domain directory RewriteEngine On Options +FollowSymlinks #domain1.com RewriteBase / RewriteCond %{HTTP_HOST} domain1.com RewriteCond %{REQUEST_URI} !mydir/ RewriteRule ^(.*)$ mydir/$1 [L] #domain2.com RewriteBase / RewriteCond %{HTTP_HOST} domain2.com RewriteCond %{REQUEST_URI} !mydir/ RewriteRule ^(.*)$ mydir/$1 [L] 如果有一种方法可以在cPanel中为停放域设置自定义目录,请启发我,因为我还没有find这样的方式。

htaccess正则expression式不正确处理URL

我试图redirect(或“重写”)超过3000个url,我们更新了大部分内容页面的SEF,以删除不需要或不需要的ID号码。 这应该是一个简单的过程使用正则expression式; 然而,我正在学习正则expression式和htaccess比科学更“艺术”:-( 这是我有的规则: RewriteRule ^topics\/([-0-9a-zA-Z]+)?\/([0-9]+)(-)([0-9a-z,-]+)? http://example.net/topics/$1/$4 [L,R=301] 大部分url都是这样的: http://example.net/topics/management/6309-investing-proceeds-from-sale-of-a-farm-or-ranch 并与正则expression式工作正常; 但是,如果一篇文章以一个数字开头,那么这样的URL就是这样的: http://example.net/topics/management/3542-9-new-years-resolutions-for-cattle-producers 然后,正则expression式(上面)抓取的不仅仅是第一组4位ID数字,还抓住了应该留下的第一个数字(本例中为“9”),导致: http://example.net/topics/management/new-years-resolutions-for-cattle-producers 这显然不起作用。 另外,作为一个解决方法,我已经尝试创build一些自定义规则来处理这个格式的less数页面/ URL(在文章标题的开始处有一个数字),并且规则在正则expression式之前这个: Redirect 301 /topics/management/3542-9-new-years-resolutions-for-cattle-producers http://example.net/topics/management/9-new-years-resolutions-for-cattle-producers 要么 RewriteRule ^topics\/([-0-9a-zA-Z]+)?\/([0-9]{1,4}?)(-)([0-9,az,-]+)? http://example.net/topics/$1/$4 [L,R=301] 但是,当我这样做时,正则expression式规则(进一步向下的htaccess文件)仍然运行导致“9”被删除。 我已经testing了许多不同的正则expression式和htaccesstesting网站,他们都工作; 但是,它仍然在现场服务器上失败。 Web服务器是:Apache / 2.2.25(Unix)mod_hive / 4.0 mod_ssl / 2.2.25 OpenSSL / 1.0.0-fips mod_bwlimited / 1.4 mod_fcgid / 2.3.6 而且我已经联系了我的服务器/托pipe公司,他们说他们没有专业知识能够解决这个问题。 任何人都可以看到问题在这里? 我在这里和其他地方search了数百个论坛post,没有任何人有相同的问题。

是否有可能只为一个目录启用htaccess?

我正在调查网站上的性能问题。 我们使用的软件需要htaccess(即,如果不存在,它会生成.htaccess本身,因此将规则移到httpd.conf不是一个选项)。 不过,我们也有很长的(mod_rewritten)url,尤其是图片。 所以看着strace,我可以看到我们在一个页面上有10个图像,所有的path都像 /img/p/12/13/14/14.jpg 它正在寻找60个文件夹中的htaccess只为图像。 反正告诉Apache只使用在/ var / www / html / site使用的.htaccess而不是查找任何其他.htaccess文件?

.htaccess使用mod_rewrite 在头文件redirect之后丢失的SESSION与启动的会话

PHP版本5.4.41 Apache版本2.2.15 Linux版本2.6.32 CentOS 6.6 我有一些代码不会正确redirect。 有很多的代码和configuration,所以我会尽量保持简单。 我的会话在头redirect后不断丢失。 没有错误,没有警告…redirect进展良好。 我session_start(); 和var_dump [$ _ SESSION]在页面redirect后得到NULL。 如果我session_start和redirect之前转储,会话转储罚款。 我猜测这与htaccess mod_rewrites在页面之间放置会话有关,但我不确定如何解决这个问题。 我一直在阅读添加[L,QSA],但这并没有帮助。 对于不使用mod_rewrites的同一台服务器上的简单页面,会话工作正常。 我认为该域是相同的,看它如何从: http:// localhost:8000 / web / someus /login http:// localhost:8000 / web / someus / home 我chmoded&chownedrecursion整个www文件夹,以便Apache拥有所有权限,并拥有网站上的所有内容。 .htaccess文件如下所示: RewriteCond %{REQUEST_URI} !=/web/[a-z0-9]{6}/index.php RewriteCond %{REQUEST_URI} !error [NC] RewriteCond %{REQUEST_URI} !css [NC] RewriteCond %{REQUEST_URI} !images [NC] RewriteCond %{REQUEST_URI} !js […]

如何在godaddy linux主机上使用htaccess删除.php扩展名

如何使用htaccess文件删除.php扩展名。 我已经尝试了很多代码(我在互联网上发现,但没有得到成功。内部服务器错误是定期显示,我正在使用Godaddy Linux主机。 此代码是我正在使用的最新版本。 <IfModule mod_rewrite.c> Options All -Indexes Options +FollowSymLinks -MultiViews RewriteEngine On RewriteBase / # Unless directory, remove trailing slash RewriteCond %{REQUEST_FILENAME} !-d RewriteRule ^([^/]+)/$ http://a.sprybirds.com/$1 [R=301,L] # Redirect external .php requests to extensionless url RewriteCond %{THE_REQUEST} ^(.+)\.php([#?][^\ ]*)?\ HTTP/ RewriteRule ^(.+)\.php$ http://a.sprybirds.com/$1 [R=301,L] # Resolve .php file for extensionless php urls RewriteRule […]