我试图使用.htaccess创建一个像用户个人资料页面的Facebook 即。 http://example.com/<userid&gt;实际上会拨打http://example.com/sites/<userid&gt; /&lt; sub_page&gt; 使用以下代码:
Options +FollowSymLinks
RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^([^/]+)/?(.*)$ sites/$1/$2 [NC,L]
Options -Indexes
ErrorDocument 404 /missing.html
ErrorDocument 403 /forbidden.html
当文件夹站点/&lt; userid&gt;时,它非常有效。存在,但是当它没有引发500内部错误时。我已经浏览过互联网,但无法超越这一点。有人可以帮忙解决这个问题。 我可以拥有包含所有现有文件夹的文本文件,并以某种方式使用它来生成.htaccess中的列表吗?
提前致谢!! :)
答案 0 :(得分:1)
您的重写规则正在循环播放。正则表达式^([^/]+)/?(.*)$
与重写的URI sites/something/something
匹配,并且它无限循环(因此您的URI开始如下所示:sites/sites/sites/sites/sites/sites/sites/sites/sites/something/something
等。)
调整正则表达式,使其与第一个([^/]+)/?
表达式之后的表达式不一致或添加其他条件:
RewriteCond %{REQUEST_URI} !^/sites/