【发布时间】:2013-06-21 00:40:58
【问题描述】:
我一直在使用以下规则在同一服务器上的开发域上的 URL 中传递查询字符串,并且它正在工作。
DOMAIN1 上的工作代码 网址:http://DOMAIN1.com/billing/renew.php?invoice_no=XXX
RewriteEngine On
RewriteRule ^billing/renew/invoice/([^/]*)$ /billing/renew.php?invoice_no=$1 [L]
但是,当我将其部署到子目录“beta”中的实时域时,它无法正常工作。 两个域都在同一台服务器上,并且主机配置相同。 允许覆盖以确保 htaccess 正常工作。唯一的区别是实时域在 https 协议上工作,并且在主机配置中定义了一个重写规则,以将所有非 https 流量重定向到 https。
我已将 httacess 文件放在实时服务器的 beta 目录中。
DOMAIN2 上的非工作代码 网址:“https://DOMAIN2.com/beta/billing/renew.php?invoice_no=XXX”
RewriteEngine On
RewriteBase /beta/
RewriteRule ^billing/renew/invoice/([^/]*)$ /billing/renew.php?invoice_no=$1 [L]
也试过了
RewriteEngine On
RewriteRule ^beta/billing/renew/invoice/([^/]*)$ /beta/billing/renew.php?invoice_no=$1 [L]
谁能告诉我我做错了什么?
【问题讨论】:
标签: .htaccess mod-rewrite url-rewriting rewrite