这对我的爱好网站来说是一个非常具体的问题。
我的htaccess中有以下代码:
RewriteRule ^(?!assets|404|i|chats|books|forum|blog|help|terms|policy|jobs|settings|reset|signup|signin|signout)([^/]+)$ profile_home.php?userdomain=$1 [L]
RewriteRule ^(?!assets|404|i|chats|books|forum|blog|help|terms|policy|jobs|settings|reset|signup|signin|signout)([^/]+)/([^/]+)$ profile_home.php?userdomain=$1&selection=$2 [L]现在这对于大多数人来说都是完美的,我可以访问所有这些链接(url/404,url/i,等等),也可以访问(url/user1,url/user2)……
这个问题来自于到目前为止特定的一个用户,似乎抛出了一个随机的404。该用户确实存在,移除前视可以解决问题,并且可以查看该用户,但这些其他链接当然会断开。
我将直接为这个问题提供一些链接示例:
/blog
/forum
/testingaccount
以上所有功能都可以正常工作,但是这个非常特定的用户不能工作。我甚至无法理解它是如何做到这一点的。用户存在,文件等都存在,但是这个用户造成了问题。
/itsame或/forumerguy
发布于 2017-05-21 02:47:42
在您的情况下,以您的排除项开头的url将不起作用: /i.../blog...
您可以这样做:
RewriteRule ^(assets|404|i|chats|books|forum|blog|help|terms|policy|jobs|settings|reset|signup|signin|signout)(/|$) - [L]
RewriteRule ^([^/]+)$ profile_home.php?userdomain=$1 [L]
RewriteRule ^([^/]+)/([^/]+)$ profile_home.php?userdomain=$1&selection=$2 [L]或者,如果您在(assets|404|i|cha...)之后需要其他规则,您可以这样做:
RewriteCond %{REQUEST_URI} !^/(assets|404|i|chats|books|forum|blog|help|terms|policy|jobs|settings|reset|signup|signin|signout)(/|$)
RewriteRule ^([^/]+)$ profile_home.php?userdomain=$1 [L]
RewriteCond %{REQUEST_URI} !^/(assets|404|i|chats|books|forum|blog|help|terms|policy|jobs|settings|reset|signup|signin|signout)(/|$)
RewriteRule ^([^/]+)/([^/]+)$ profile_home.php?userdomain=$1&selection=$2 [L]https://stackoverflow.com/questions/44089043
复制相似问题