Mod rewrite RewriteRule:预期使用内部重定向,但改为使用外部(301)重定向
我试图做一个内部重定向(即URL不变),但我无法做到这一点 我想要实现的目标:Mod rewrite RewriteRule:预期使用内部重定向,但改为使用外部(301)重定向,mod-rewrite,redirect,httpd.conf,cloudflare,Mod Rewrite,Redirect,Httpd.conf,Cloudflare,我试图做一个内部重定向(即URL不变),但我无法做到这一点 我想要实现的目标: ---内部重定向到--> 我如何实现它: 在我的httpd.conf中,我在相关的VirtualHost部分插入了一个重写规则 <VirtualHost *:80> ServerName website.com ServerAlias website.com DocumentRoot "/var/www/html" <Directory /var/www/html>
---内部重定向到--> 我如何实现它:
在我的httpd.conf中,我在相关的VirtualHost部分插入了一个重写规则
<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>
服务器名网站
ServerAlias网站
DocumentRoot“/var/www/html”
允许超越所有
通融
重新启动发动机
重写规则^open/([\w-]+)/([\w-]+)/?$/open?e=$1&lang=$2[L,NC]
重写规则^open/([\w-]+)/?$/open?e=$1&lang=en[L,NC]
出了什么问题:浏览器上的URL最终更改为(仅外部URL的正确URL)。在Chrome的“网络”选项卡上,我注意到以下内容: 常规-请求URL:
常规-状态代码:301永久移动
响应标题-位置:
服务器:cloudflare nginx 假设
•重写规则标志不正确
•Cloudflare正在影响我的重定向
•在httpd.conf中有其他内容覆盖了它您是指内部重写吗?我不确定是否存在内部重定向;)是的,ShubhamGoyal。需要内部修改,不需要重定向