我的.htaccess文件如下:
Options -Multiviews
RewriteEngine On
RewriteCond %{HTTP_HOST} ^example.com
RewriteRule ^(.*)$ http://www.example.com/$1 [R=301,L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ $1.php
它有效,但我想知道它是如何工作的。例如,如果我输入example.com/main
,我会在www.example.com/main.php
处获取该文件。如果代码在将.php
添加到www.
的开头后告知重写停止,我如何获得example.com
扩展名?
编辑或者我是否应该仅为了登录记住的用户而创建唯一ID?
答案 0 :(得分:5)
您要问的特定行为是因为规则
RewriteRule ^(.*)$ http://www.example.com/$1 [R=301,L]
是301重定向;它指示浏览器发起一个全新的HTTP请求。 L
仅导致(只能导致)它成为请求执行的最后一条规则;新请求带有正确的主机名,然后继续。