当我添加“虚荣URL”功能时,我必须修改我的.htaccess文件,该功能允许我的网站成员以myWebsite / membersName的形式输入网址并转发到他们的主页,直到添加虚荣URL功能一直是myWebsite / member-profile.php?member_id = 123456
的形式一切正常,但如果URL指向myWebsite / someDirectory等目录,我会被重定向到我的.htaccess文件中指定的错误页面。
我是一名PHP程序员,但我不太熟悉RewriteRules或他们的条件。下面我从Linux服务器的根目录粘贴了我的整个.htaccess文件。有人可以帮我弄清楚问题是什么吗?
SuPHP_ConfigPath /home/helcupor/public_html
RewriteEngine On
RewriteCond %{HTTP_HOST} !^www\.
RewriteRule ^(.*)$ http://www.%{HTTP_HOST}/$1 [R=301,L]
#for files, append .php
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME}\.php -f
RewriteRule ^(.*)$ $1.php
#for vanity urls redirect to url2id.php
RewriteCond %{REQUEST_FILENAME} >""
RewriteRule ^([^\.]+)$ url2id.php?vanityName=$1 [L]
AuthUserFile "/home/helcupor/.htpasswds/public_html/passwd"
ErrorDocument 404 /routing.php
#AuthName "/admin/"
答案 0 :(得分:0)
尝试在#for vanity urls
:
RewriteCond %{REQUEST_FILENAME} >""
为:
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
您希望确保潜在的成员名称不是现有资源(目录或文件)。否则,只需提供资源。不确定你想要与你所拥有的条件进行比较。 %{REQUEST_FILENAME}
var仍然是成员名称。