尝试获取
www.example.com
直接跳转到
www.example.com/store
我尝试了多个代码片段,但都没有起作用。
我尝试过的内容:
Options +FollowSymlinks
RewriteEngine on
RewriteCond %{HTTP_HOST} ^example.com$
RewriteRule (.*) http://www.example.com/$1 [R=301,L]
RewriteCond %{HTTP_HOST} ^(.+)\www.example\.com$
RewriteRule ^/(.*)$ /samle/%1/$1 [L]
我做错了什么?
/store
是一个物理子目录,那么您需要在RewriteRule
的替换部分添加一个斜杠作为结尾。否则,mod_dir 将触发一个 301 外部重定向以添加斜杠,并且/store/
将暴露给您的用户。此外,如果您在根目录中有DirectoryIndex
文档(例如index.html
),那么正则表达式^$
将不会“似乎”匹配(没有任何“看起来”的情况),因为 mod_dir 会在初始重写之后对索引文档发出内部子请求。为了解决这两个问题,请将其更改为RewriteRule ^(index\.html)?$ /store/ [L]
。 - MrWhite[L]
替换为[R=302,L]
。 - digitalacorn