重写基础 URL 并使用 mod_rewrite 向其添加特定单词
rewrite base URL and add a specific word to it using mod_rewrite
以下是我的要求:
假设我有一个 URL 来自浏览器
http://test.aroa.com/mance
我需要在性能之前添加 /xyz/abc/xy/ 并在其之后添加 .html 即使用 mod_rewrite 的重写规则将其更改为低于 URL 一旦它在 AEM(或 apache 网络服务器)中点击调度程序
http://test.aroa.com/xyz/abc/xy/mance.html
为此我写了下面的重写规则和一些重写条件(这里没有重写条件)
RewriteRule ^(/.*)$ /xyz/abc/xy.html [P,L]
它适用于该网站,但通过将 /xyz/abc/xy 添加到其他 URL 也搞乱了一些其他功能
你能给我一些建议吗,我可以使用它来限制 URL 仅对 //test.aroa.com/ URL 重写而不影响任何其他 URL
我尝试将规则放入目录标记中,其中包含 doc-root 名称。但在那种情况下它没有得到应用..
任何人都可以提出一些可以帮助的东西
如果您想在特定域上应用您的规则,您可以添加此条件
RewriteCond %{HTTP_HOST} ^test\.aroa\.com$ [NC]
另外,一个小的语义细节:你不需要 L
标志和 P
标志(这是多余的,因为 P
包括 L
)
最后,您的代码应该如下所示
RewriteCond %{HTTP_HOST} ^test\.aroa\.com$ [NC]
# your other conditions
RewriteRule ^/?(.+)$ /xyz/abc/xy/.html [P]
备注:我认为您不需要使用 mod_proxy
(P
标志),尤其是因为它比简单的内部重写要慢。如果您的(子)域共享相同的文档根目录,那么您可以通过将 P
标志替换为 L
标志
来避免使用它
以下是我的要求: 假设我有一个 URL 来自浏览器
http://test.aroa.com/mance
我需要在性能之前添加 /xyz/abc/xy/ 并在其之后添加 .html 即使用 mod_rewrite 的重写规则将其更改为低于 URL 一旦它在 AEM(或 apache 网络服务器)中点击调度程序
http://test.aroa.com/xyz/abc/xy/mance.html
为此我写了下面的重写规则和一些重写条件(这里没有重写条件)
RewriteRule ^(/.*)$ /xyz/abc/xy.html [P,L]
它适用于该网站,但通过将 /xyz/abc/xy 添加到其他 URL 也搞乱了一些其他功能
你能给我一些建议吗,我可以使用它来限制 URL 仅对 //test.aroa.com/ URL 重写而不影响任何其他 URL
我尝试将规则放入目录标记中,其中包含 doc-root 名称。但在那种情况下它没有得到应用..
任何人都可以提出一些可以帮助的东西
如果您想在特定域上应用您的规则,您可以添加此条件
RewriteCond %{HTTP_HOST} ^test\.aroa\.com$ [NC]
另外,一个小的语义细节:你不需要 L
标志和 P
标志(这是多余的,因为 P
包括 L
)
最后,您的代码应该如下所示
RewriteCond %{HTTP_HOST} ^test\.aroa\.com$ [NC]
# your other conditions
RewriteRule ^/?(.+)$ /xyz/abc/xy/.html [P]
备注:我认为您不需要使用 mod_proxy
(P
标志),尤其是因为它比简单的内部重写要慢。如果您的(子)域共享相同的文档根目录,那么您可以通过将 P
标志替换为 L
标志