大家一直把我的头撞在这个墙上,看了很多文章。 我的任务 我试图重写一个wordpress网站的3个部分的HTTPS,如果他们通过HTTP访问: /cart/ /my-account/ /checkout/ 以及这些重写的worpress已经添加了一个重写删除index.php的URL。 index.php重写是唯一的工作。 我的configuration 这里是我的.htaccess <IfModule mod_rewrite.c> RewriteEngine On RewriteBase / #BEGIN MyRewrite RewriteCond %{HTTPS} !on RewriteCond %{REQUEST_URI} (checkout|cart|my-account) RewriteRule ^(.*)$ https://%{SERVER_NAME}%{REQUEST_URI} [R=302,L] #END MyRewrite # BEGIN WordPress RewriteRule ^index\.php$ – [L] RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule . /index.php [L] # END WordPress </IfModule> 问题 似乎我确实被redirect到https,但然后循环,从不显示。 一些curltesting 在下面你可以看到我的访问http版本/购物车被正确地告知,这已经转移到https […]
我正在将一个站点从Wordpress迁移到Octopress – 但是已经设法完成了mod_rewrite设置的过程。 目前,所有的url都是格式 http://site.com/archives/yyyy/mmm/posttitle.php 一旦移植到Octopress,他们现在的格式是: http://site.com/archives/yyyy/mmm/posttitle 也有一些顶级的网页是所有的变化 http://site.com/pagename.php 现在 http://site.com/pagename 我还有 RewriteRule ^(.+)\.php $1 这似乎很好地工作 – 但只要我包括301redirect: RewriteRule ^(.+)\.php $1 [R=301] 重写规则现在包括完整的文件系统path – 所以: http://site.com/var/www/octopress/archives/yyyy/mmm/posttitle.php 任何人都可以指出我哪里错了? ETA RewriteRule在<Directory>块中: <Directory /> ReWriteEngine On RewriteRule ^(.+)\.php $1 Options FollowSymLinks AllowOverride All </Directory>
在我的服务器上,我为不同的目的设置了多个用户帐户,以将我的个人网站与我的半专业网站分开。 其中一些网站是WordPress的网站,我试图启用图片上传。 主目录中的文件明显属于特定用户,但是我已经将Apache(www-data)添加到该用户的组中,因此理论上如果我给出一个目录并且它的内容为chmod -R g+w那么该目录应该可以通过Apache(和PHP进程)写入,对吗? 你可能明白,这不是目前正在发生的事情,我不知道如何使这项工作。 我不想要的是将所有文件分配到www-data,然后将用户添加到www-data组。 我相信这些文件应该首先属于用户,www-data只有有限的权限。 什么是修复和/或排除故障的最佳方法? 编辑: 感谢迄今为止的回应,我想指出的是,在我的开发机器(Ubuntu)上,我有完全相同的设置。 Eclipse项目存储在我的主目录的子目录中,只需在所需的目录上执行chmod -R g+w ,我就可以在Apache下面的PHP进程中写入这些目录。 我没有使用任何ACL。 但是,由于某种原因,在我的服务器上,这是行不通的,这有点令人费解。 更新2: 我的开发机器和我的服务器之间可能有什么区别是我的开发机器文件是这样的: -rw-r–r– 1 luke luke 34 2012-11-14 04:30 .some.file 在我的服务器上,这看起来像: -rw-r–r– 1 luke wheel 34 2012-11-14 04:30 .some.file 我想这里的团队有影响力。
我在一台旧的OpenBSD机器上安装了一个Web服务器,每次尝试启动Apache时都会出现错误。 在使用HTTPS添加我的虚拟主机后,服务器拒绝启动。 错误 could not resolve host "10.0.1.120:50720" port "https" — no address associated with name usr/sbin/apachectl start: httpd could not be started 虚拟主机configuration 我的虚拟主机configuration如下( /var/www/conf/vhosts/[file].conf ) Listen 10.0.1.120:50720 https <VirtualHost *:80> ServerName [url] DocumentRoot /var/www/[url]/public_html </VirtualHost> <VirtualHost 10.0.1.120:50720> ServerName [url] DocumentRoot /var/www/[url]/public_html ErrorLog /var/www/[url]/error_log TransferLog /var/www/[url]/access_log SSLEngine on SSLProtocol all -SSLv2 SSLCipherSuite ALL:!ADH:!EXPORT:!SSLv2:RC4+RSA:+HIGH:+MEDIUM SSLCertificateFile […]
我的Apache有一个奇怪的行为,当访问文件夹没有结尾斜杠时,它转到https。 例如http://domain.tld/foldername它将转到https://domain.tld/foldername/ … 我没有在该webroot的.htaccess,我无法findhttpd.conf和虚拟主机configuration上的任何mod_rewrite设置。 任何人都可以帮助和build议给我一些灯光? 谢谢。 詹姆士
我希望设置我的整个Web架构由root:root拥有,并且只允许apache用户阅读权限。 我不知道是否有可能: chmod -R 744使得它从浏览器返回一个E403,pemission拒绝访问xxxx.php 但是由于Apache是公开的(“其他”?)它应该能够“读取”正确的? 我不明白 我也试过chown root:apache但结果是一样的,这更令人困惑…
我已经使用了suPHP和suExec的组合来试图保护用户,并限制PHP / Perl的运行空间(即:user / tmp文件夹)。 自从我上一次做了这样的configuration,我可以说几年,直到今天我不需要它,从那以后,一些新的模块进来了。 我想知道什么是目前可用于这个任务是值得使用的模块或我的设置仍然有效,值得使用? 我也注意到一些公司设置他们的ftp服务器,所以它不会显示以点开头的文件是否有任何特定的原因,他们会想要的? 我的意思是,在许多情况下,用户希望能够下载/编辑/重新上传他们的.htaccess文件,而上传所述文件的时候,你将无法在这个特定的情况下下载。 PS:我明白,CHMOD在所有这些方面都有一个很大的漏洞,但是正如明智地迫使Apache运行的那样,用户也是需要的。
试图按照这里find的指示apxs无法安装在Centos mod_cloudflare当我运行命令rpm -ivh mod_cloudflare-1.1.1-1.x86_64.rpm服务器返回错误: error: Failed dependencies: apache2 is needed by mod_cloudflare-1.1.1-1.x86_64 请注意..我已经有Apache安装和configuration: yum install httpd httpd-devel Loaded plugins: fastestmirror, priorities, security, update-motd, upgrade-helper Loading mirror speeds from cached hostfile * amzn-main: packages.us-east-1.amazonaws.com * amzn-updates: packages.us-east-1.amazonaws.com Setting up Install Process Package httpd-2.2.23-1.25.amzn1.x86_64 already installed and latest version Package httpd-devel-2.2.23-1.25.amzn1.x86_64 already installed and latest version Nothing […]
早上好, 所以,我现在遇到的问题是我想要这个设置工作: http://qwe1.com/ 这个请求应该去Apache,并从静态内容文件夹中获取所有的图像,这个configuration工作得很好。 http://qwe1.com/forum 这个请求应该被代理到server2(proxy.qwe1.com),现在也工作得很好。 http://qwe1.com/forum/example.jpg 这个请求也应该被代理到server2,因为它必须与同一个论坛做,由于静态caching指令,今天不工作。 它匹配静态caching指令,并尝试在磁盘上本地查找映像,并在static.error.log中给出了一个404,您可以在下面看到。 如果我注释掉静态caching指令,我会得到所需的设置,但是我当然想要运行该caching。 我尝试用重写的帮助来分类,到目前为止我已经尝试了这些解决scheme location ~* ^(?P<part_uri>/forum/.*\.(css|js|jpg|jpeg|png|swf|gif|svg|ttf|eot))$ { proxy_pass http://proxy.qwe1.com/forum_en$part_uri; proxy_redirect off; proxy_set_header Host $host; access_log /var/log/nginx/TMP.log; error_log /var/log/nginx/TMP.log; } 这个解决scheme基本上把从http://qwe1.com/forum到http://qwe1.com/的所有东西都转发了出来,但是我没有真正弄清楚为什么,至less这是行不通的。 我也试过这个解决scheme rewrite ^(/forum/*\.(css|js|jpg|jpeg|png|swf|gif|svg|ttf|eot))$ /forum_en/$1; location /forum_en { proxy_pass http://proxy.qwe1.com; proxy_redirect off; proxy_set_header Host $host; access_log /var/log/nginx/TMP.log; error_log /var/log/nginx/TMP.log; } 这与之前的版本具有相同的症状,我从http://qwe1.com/forumredirect到http://qwe1.com/ 任何想法的人? 我在这里有整个configuration。 提前致谢。 ## one.qwe1.com = server1 […]
我已经build立了一个虚拟的debian机器,在我的windows系统上运行(使用VirtualBox)来开发LAMP堆栈。 今天,当我尝试从我的Windows机器加载一个开发网站的浏览器没有得到我的虚拟机的响应。 我不是一个Linuxpipe理员; 这是我可以告诉你的: 浏览器从来没有得到答复,但也没有得到任何500错误。 它只是坐在旋转的车轮.. 昨天我在虚拟机上做了一些工作来构buildphp imagick.so可执行文件,所以我可以使用一些pdf编辑库。 这些变化(最终)基本上是这样的: $ apt-get更新php5-devel $ apt-get update make $ apt-get安装php-pear $ apt-get install libmagickwand-dev $ pecl install imagick 在做出这些改变之前,我做了一个虚拟机的快照。 当我遇到这个问题时,我closures了修改后的虚拟机,启动了我之前的快照。 这没有区别 – 同样的Web服务器问题。 从我的Windows机器,我可以ping我的虚拟机在预期的IP(192.168.1.222) 但是,我不能 ping通80端口。我得到一个“无法find主机192.168.1.222:80响应。 以前我能够重新启动Apache没有任何明显的问题,但刚才我做/etc/init.d/apache2停止然后开始,我第一次得到这个: 编辑:以root身份重新启动Apache后更新的问题 停止/启动服务器: root@debian:/home/brd# /etc/init.d/apache2 stop Stopping web server: apache2 … waiting . root@debian:/home/brd# /etc/init.d/apache2 start Starting web server: apache2. Apache似乎重新启动没有投诉 root@debian:/home/brd# […]