我的htaccess设置通过名为pages
的变量重定向所有路径RewriteRule ^(.+)$ /?pages=$1 [L]
这很好用,如果你去网址www.mydomain.com/path/to/file我得到了变量pages =“path / to / file”的结果。
我无法确切地确定问题何时发生(但似乎是会话超时,如果刷新而没有空闲则不会发生)然后刷新页面地址栏会显示www.mydomain.com ?页=路径/到/文件。
页面仍然有效,但它提供了一个丑陋的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
答案 0 :(得分:1)
在www重定向规则下,添加以下内容:
RewriteCond %{THE_REQUEST} \ /+(?:index\.php|)\?pages=([^&\ ]+)
RewriteRule ^ /%1? [L,R]