使用该.htaccess
文件,我想重定向www.example.com/fr/
到www.example.com/
但不是其他具有/fr/
根的法语页面(例如www.example.com/fr/page-name
)
我尝试过使用Redirect 301 /fr/ https://example.com/
,但这会将所有法语页面重定向到我不想要的英语版本。
有没有解决的办法?
使用该.htaccess
文件,我想重定向www.example.com/fr/
到www.example.com/
但不是其他具有/fr/
根的法语页面(例如www.example.com/fr/page-name
)
我尝试过使用Redirect 301 /fr/ https://example.com/
,但这会将所有法语页面重定向到我不想要的英语版本。
有没有解决的办法?
我希望 Wordpress 像 ruby (/blog) 的子目录一样。
Ruby on Rails 网站有效,但如果我去 /blog 它只是说我正在寻找的页面不可用(使用 RoR 404 模板)
RoR 配置:
<VirtualHost *:443>
ServerAdmin webmaster@localhost
DocumentRoot /var/www/html/public
ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined
SSLEngine on
SSLCertificateFile /etc/apache2/certificate/apache-certificate.crt
SSLCertificateKeyFile /etc/apache2/certificate/apache.key
</VirtualHost>
Wordpress 的配置文件:
<VirtualHost *:443>
ServerAdmin webmaster@localhost
DocumentRoot /var/www/blog
ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined
SSLEngine on
SSLCertificateFile /etc/apache2/certificate/apache-certificate.crt
SSLCertificateKeyFile /etc/apache2/certificate/apache.key
Alias /blog /var/www/blog
</VirtualHost>
也许解决方案是 /var/www 中的 htacces 文件。你能指点我吗?谢谢 !
我正在尝试为特定文件的路径别名
我试过了:
Alias /Console "/console/console.html"
现在去http://example.com/Console
确实带来了console.html
。
console.html
但是从内部(即)引用的任何相关资源都images\1.jpg
失败了,因为它似乎进入了 document_root
我究竟做错了什么?
今天我注意到mod_alias
'sRedirect
和RedirectMatch
指令在处理重定向 URL 时表现出不同的行为。
像这样的声明:
Redirect 301 "/foo" "/bar%20baz"
将重定向到文字 URL bar%20baz
,而
RedirectMatch "/foo" "bar%20baz"
将重定向到bar%2520baz
,因为重定向 URL 的百分号被转义。
我的重定向 URL 已经转义。有什么办法可以告诉我RedirectMatch
不要再逃避它们了吗?
我正在使用大量重定向 301,它们在新的网络服务器上突然失败。
在迁移站点之前,我们正在新的网络服务器上进行预生产测试,但有些站点因500 Internal Server Error而失败。数据库和文件的内容都从旧服务器镜像到新服务器,因此我们可以测试所有站点是否正常工作。
我将此问题追溯到mod_alias 的 Redirect语句,该语句在 .htaccess 中用于将访问者和搜索引擎从旧内容重定向到新页面。
显然 Apache 服务器要求目标是一个完整的 url,包括协议和主机名。
Redirect 301 /directory/ /target/ # Not Valid
Redirect 301 /main.html / # Not Valid
Redirect 301 /directory/ http://www.example.com/target/ # Valid
Redirect 301 /main.html http://www.example.com/ # Valid
这与 Apache 2.2的Apache 文档相矛盾,该文档指出:
新的 URL 应该是一个以方案和主机名开头的绝对 URL,但也可以使用以斜杠开头的 URL 路径,在这种情况下,将添加当前服务器的方案和主机名。
当然,我确认我们在旧服务器和新服务器上都使用了 Apache 2.2。旧服务器是带有 Apache 2.2.11 的 Gentoo 机器,而新服务器是带有 Apache 2.2.3 的 RHEL 5 机器。
解决方法是将所有路径更改为完整 URL,或将语句转换为 mod_rewrite 规则,但我更喜欢记录在案的行为。
你有什么经验?