htAccess 在会话超时后刷新页面时重写地址栏中的参数



我有我的htaccess设置,可以通过一个名为pages的变量重定向所有路径

RewriteRule ^(.+)$ /?pages=$1 [L] 

这工作得很好,如果你去网址 www.mydomain.com/path/to/file 我会得到想要的结果,即变量页面="路径/到/文件"。

我不能确切地确定问题何时发生(但似乎是当会话超时时,如果您刷新而不空闲,则不会发生),然后刷新页面,地址栏显示 www.mydomain.com?pages=path/to/file。

该页面仍然有效,但它给出了一个丑陋的 URL。 这正常吗?有什么办法可以阻止这种情况发生吗?

谢谢。

以下是完整的htaccess:

### HABARI START
RewriteEngine On
### turn off directory browsing
Options -Indexes
## redirect to www
RewriteCond %{HTTP_HOST} !^www.
RewriteRule ^(.*)$ https://www.%{HTTP_HOST}/$1 [R=301,L]
## map any path that is not an actual folder to the pages param
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
# Rewrite everything else through the pages parameter 
RewriteRule ^(.+)$ /?pages=$1 [L] 
### HABARI END

在 www 重定向规则下,添加以下内容:

RewriteCond %{THE_REQUEST}  /+(?:index.php|)?pages=([^& ]+)
RewriteRule ^ /%1? [L,R]

最新更新