从stackoverflow和其他网站花了2天混合和匹配规则,但没有运气,一部分可以工作,另一部分不会:(我想要像“智能”规则来过滤错误。
问题:在我当前的设置中,它只是循环到白色屏幕,当有一个尾随斜线,所以我决定“手动”删除尾部斜杠。顺便说一下,当view-sourced包含正确的html标记时产生的白色屏幕 - 它只是没有显示我不知道为什么。
问题:矿井被打破了example.com/user/links.php而不是example.com/links.php
顺便说一下, 用户 是一个变量,所以它可以采用 simonsoft , anotheruser 等。如果您发现我的网站没有任何问题,那么当我使用<base>
标记时,它实际上已修复。删除那个标签就搞得一团糟了。我正在寻找某人对我的规则进行一些更正,可能不依赖rewritebase
或base
标签
这是我现有的.htaccess
Options -MultiViews
Options +FollowSymlinks
Options -Indexes
RewriteEngine On
RewriteCond %{ENV:REDIRECT_STATUS} 200
RewriteRule ^ - [L]
# remove the trailing slash
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.+)/$ http://%{HTTP_HOST}/$1 [R,L]
# Some "static" links
RewriteRule about$ 22688.html [NC,R,L]
RewriteRule privacy$ 77.html [NC,R,L]
RewriteRule terms$ 867.html [NC,R,L]
RewriteRule login$ index.php [NC,L]
RewriteRule logout$ logout.php [NC,L]
RewriteRule register$ register.php?do=regterm [NC,L]
# Quick login url
RewriteRule ^([a-zA-Z0-9\-_.]+):([^/]*)$ login.php?do=login&loguid=$1&logpwd=$2 [NC,L]
# The vanity url
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^([a-z0-9\-_.]+)$ profile.php?do=viewuser&who=$1 [NC,QSA,L]
RewriteRule ^([a-z0-9\-_.]+)/friends$ profile.php?do=friends&who=$1 [NC,QSA,L]
帮助表示赞赏。谢谢!