- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我在一个非常简单的 apache 重写规则上苦苦挣扎了几个小时。它一定是太明显了,我再也看不到了。
作为输入,我在浏览器中输入:
http://enseignement2.be/deployment.html
我尝试显示此页面:
http://enseignement2.be/hello.html
因此,我在 apache conf 文件中添加了该规则:
RewriteRule ^deployment\.html$ hello.html [L,NC,QSA,R=301]
...实际上还有许多其他变体。结果,它显示 deployment.html 页面。浏览器的 URL 保持不变。
这是我完整的配置文件,/etc/httpd/conf.d/中的enseignement2.conf
<VirtualHost 68.169.61.167:80>
ServerName enseignement2.be
DocumentRoot /var/www/hagakure/data/www/
SuexecUserGroup hagakure hagakure
CustomLog /var/www/httpd-logs/enseignement2.be.access.log combined
ErrorLog /var/www/httpd-logs/enseignement2.be.error.log
ServerAlias *.enseignement2.be www.enseignement2.be
AddDefaultCharset UTF-8
# enable expirations
ExpiresActive On
# expire GIF,JPEG,PNG images after a month in the client's cache
ExpiresByType image/gif A2592000
ExpiresByType image/jpeg A2592000
ExpiresByType image/png A2592000
ExpiresByType application/javascript A2592000
ExpiresByType text/css A2592000
RewriteEngine on
# RewriteCond %{HTTP_HOST} ^(.+)\.enseignement(2|deux)\.be [NC] # only if there is something (at lease 1 char) before the first dot. example: toto.enseignement2.be
# RewriteRule ^(.*)?$ http://enseignement2.be$1 [redirect=301,nocase]
RewriteRule ^deployment\.html$ hello.html [L,NC,QSA,R=301]
# Directives for eApps applications dependent on Apache
ProxyPass /deployment.html !
ProxyPass /deployment.jpg !
ProxyPass /hello.html !
ProxyPass /manager/ispmgr !
ProxyPass /manimg !
ProxyPass /mancgi !
ProxyPass /webmail !
ProxyPass /joomla !
ProxyPass /awstats !
ProxyPass /myadmin !
# Directives for your application
ProxyPass / ajp://localhost:8009/
ProxyPassReverse / ajp://localhost:8009/
</VirtualHost>
ProxyPass 被考虑在内,因为如果我注释行 ProxyPass/deployment.html !,该页面不再显示(请求被转移到 apache 后面的 tomcat 7 实例。
它运行在 CentOS 6 上,Apache/2.2.22欢迎任何建议,谢谢!
最佳答案
在服务器/虚拟主机配置中,您的正则表达式中需要一个前导斜线:
RewriteRule ^/deployment\.html$ hello.html [L,NC,QSA,R=301]
关于apache RewriteRule 将页面重定向到 root 不工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12710596/
将所有页面从旧域移动到新域时,我注意到有些人添加了 ^ 而其他不在 rewriterule 中 之间有什么不同 RewriteRule ^(.*)$ http://mynewdomain.com/$1
我正在尝试重写通过 BrowserSync 代理加载的站点的 HTML。 我有一个: ./src/search.txt -- 包含正则表达式匹配 ./build/replace.txt -- 包含网页
我正在尝试使用 mod_proxy 配置 Apache 2.4 作为反向代理,但我遇到了重定向未从源服务器传递到客户端的问题。 我在虚拟主机配置中有如下配置: [...] ProxyPreserveH
我对 apache2 进行了重写,以便根请求 "www.example.com"从缓存加载内容,但所有其他带参数的请求正常通过index.php "www.example.com/?action=1"
有没有办法在 .htaccess 中放置一个小的重写规则,以将超过 20.000 个链接从旧的基于 phpBB 的论坛重定向到新的 phpBB 论坛?旧链接是这样的: https://example.
我为我的页面设计了两个不同的 RewriteRules: # Enable URL Rewriting RewriteEngine on # exclude followed stuff Rewrit
我在通过 HTTP 主机名选择目录时遇到问题。 我有这样的文件结构: . +-- .htaccess +-- domains +-- 123456.a12.whatever.net |
我正在尝试通过 RewriteRule 创建一个友好的 URL但它一直忽略 #作为变量值的一部分。 .htaccess 上的行就这么简单 RewriteRule ^key/(.+)/$ index.p
我正在尝试创建一个 URL 短对于我的网站,任何请求到 example.com/u/* 应该改写为 example.com/cpp-cgi-test.cgi?* ! 注意:目录 /u 不存在,我将它添
当人们输入时,我想重定向到 new/index.php site.com site.com/index.php site.com/index.html site.com/index.htm 那么下面的
我正在对我的网站的新版本进行编程,并且我正在尝试让 .htaccess 正确重写。我的新网站存储在这里: www.example.com/storage/new/ 我需要重写这些 URL: www.e
在 Apache 2.4 中通过 ReWriteRule (mod_rewrite) 代理时无法控制超时。 ServerName xxxx Use ssl RewriteEngine O
标题基本概括了所有内容。 :-)我有很多虚拟主机,并且我想在httpd.conf文件的顶部放置一个重写块,以重写URL,无论请求可能指向哪个虚拟主机。我该怎么办? 我找到了this,但我的问题是相同的
目前我有一个文件夹 [contact-us] mydomain.com/contact-us/ 我计划删除此文件夹并仅添加 contact-us.php mydomain.com/contact-us
基本上我有下面的 htaccess。目前它运行良好,但它会重定向每个文件。例如,当我只想将 about.php 重定向到/about 时,foo.php 到/foo。基本上,我想强制删除 about.
RewriteCond %{QUERY_STRING} ^id=(.*)$ RewriteRule ^oldpage\.php$ http://new-site.com/newpage-%1 [R=
我有一台具有一个 IP 地址的虚拟服务器,为几个不同的站点提供服务。其中之一带有 SSL 证书。 我需要在第二个域上添加 SSL 证书供我自己私有(private)使用,由于我只有一个 IP 地址,所
我的网站根目录中有一个 .htaccess,如下所示: RewriteEngine On RewriteCond %{HTTP_HOST} !^www\.mydomain\.pl [NC] Rewri
我有一个服务器,我想强制与外部世界进行 https 通信,但是,服务器上的某些服务需要由本地服务器上的进程通过 http 访问。 我尝试了以下方法: RewriteEngine On RewriteC
我在 apache 服务器上设置了一个站点,其中桌面站点位于/public_html 中,移动站点位于/public_html/mob 我正在尝试设置一个 .htaccess 重写规则,以便在用户访问
我是一名优秀的程序员,十分优秀!