.htaccess htaccess重定向以排除某些页面

6yt4nkrj  于 2022-11-16  发布在  其他
关注(0)|答案(1)|浏览(179)

我的htaccess文件当前重定向了所有内容,并具有以下内容

RewriteEngine On

RewriteCond %{SERVER_PORT} 80

RewriteRule ^(.*)$ https://www.domain.co.uk/$1 [R,L]

我需要排除两个以“send”开始的URL
我把最后一行改成了

RewriteRule !^send(.*)  https://www.domain.co.uk/$1 [R,L]

它排除了发送URL,但子文件夹中的任何URL都被重定向到根索引页。

xtupzzrd

xtupzzrd1#

RewriteRule !^send(.*)  https://www.domain.co.uk/$1 [R,L]

否定模式不捕获任何内容(根据定义),但是当send不在URL中时,尝试捕获send之后的所有内容没有多大意义。
您可以执行如下操作,并在 substitution 中使用REQUEST_URI服务器变量,而不是使用反向引用:

RewriteRule !^send https://www.domain.co.uk%{REQUEST_URI} [R,L]

请注意,REQUEST_URI服务器变量已包含斜杠前缀.

相关问题