我正在尝试进行内部重定向(即网址不会更改),但我无法实现。
我想要实现的目标:
http://website.com/open/value1/value2 ---内部重定向到 - > http://website.com/open?e=value1&lang=value2
我是如何实现的:
在我的httpd.conf中,我在相关的VirtualHost部分中插入了一个RewriteRule
<VirtualHost *:80>
ServerName website.com
ServerAlias website.com
DocumentRoot "/var/www/html"
<Directory /var/www/html>
AllowOverride All
Allow from all
RewriteEngine On
RewriteRule ^open/([\w-]+)/([\w-]+)/?$ /open?e=$1&lang=$2 [L,NC]
RewriteRule ^open/([\w-]+)/?$ /open?e=$1&lang=en [L,NC]
</Directory>
</VirtualHost>
出了什么问题:
浏览器上的网址最终更改为http://website.com/open?e=value1&lang=value2(,这是其外部的正确网址)。在我的Chrome网络标签上,我注意到以下内容:
常规 - 请求网址:http://website.com/open/?e=Cosmoprof-Asia&lang=en
一般 - 状态代码:301永久移动
响应标题 - 位置:https://website.com/open/?e=Cosmoprof-Asia&lang=en
服务器:cloudflare-nginx
假设
•RewriteRule标志不正确
•Cloudflare正在影响我的重定向
•在httpd.conf