gpt4 book ai didi

apache htaccess 使用别名重写

转载 作者:行者123 更新时间:2023-12-02 04:50:45 25 4
gpt4 key购买 nike

我们正在更改我们的域名,这旨在适用于独立应用程序。在 Apache 虚拟主机文件中,DocumentRoot 是/var/www/website/html,而不是此 block 中的/var/www/example/html:

Alias /apps/dept /var/www/example/html/apps/dept
<Directory "/var/www/example/html/apps/dept/">
Options FollowSymLinks
AllowOverride All
Order allow,deny
Allow from all
</Directory>

我将 .htaccess 文件放在/var/www/example/html/apps/dept 目录中,如下所示:

 RewriteEngine On
RewriteBase /apps/dept/
RewriteCond %{HTTP_HOST} ^example.orgname.state.tx.us/apps/dept [NC]
RewriteRule ^(.*)$ http://example.orgname.texas.gov/apps/dept/$1 [L,R=301]

这似乎遵循此处推荐的内容,http://httpd.apache.org/docs/current/mod/mod_rewrite.htmlApache : How to Use Rewrite Engine Inside Alias 。我看不到任何结果。新域在 VH 文件中也有一个虚拟主机配置。同样的基本重写适用于我们不使用别名的 Drupal 网站。要使用附加的应用程序路径名重写域名,可能需要进行哪些更改? RewriteBase 是否不正确?

谢谢。

最佳答案

所以您只想重定向 /apps/dept/,对吗?这应该有效。将其作为 .htaccess 或放在 example.orgname.state.tx.us 的 Apache 配置中,一切都应该按预期工作。

RewriteEngine on
RewriteRule ^/apps/dept/(.*)$ http://example.orgname.texas.gov/apps/dept/$1 [NC,L,R=301]

现在,任何请求都会发送到此 URL

http://example.orgname.state.tx.us/apps/dept/

现在将转到此 URL:

http://example.orgname.texas.gov/apps/dept/

URL 右侧的任何请求参数也将一起传递。

编辑只需重读您在此处写的内容即可:

I put an .htaccess file in /var/www/example/html/apps/dept directory as follows.

我上面描述的.htaccess应该放在/var/www/example/html/中,而不是在/apps/dept中> 子目录。

但是,如果您希望放置在 /apps/dept 中的 .htaccess 具有相同的行为,请使用以下内容:

RewriteEngine on
RewriteRule ^(.*)$ http://example.orgname.texas.gov/apps/dept/$1 [NC,L,R=301]

这样,从 /apps/dept 发出的任何请求都将发送到 example.orgname.texas.gov/apps/dept/,包括 /apps 的子目录/dept 例如 /apps/dept/test_app1/apps/dept/test_app2/apps/dept/test_app3

或者试试这个:

RewriteEngine on
RewriteRule (.*)$ http://example.orgname.texas.gov/apps/dept/$1 [NC,L,R=301]

注意,我删除了 ^,它会强制 RewriteRule 匹配 URL 的开头。

关于apache htaccess 使用别名重写,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20334148/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com