0

当我添加“虚 URL”功能时,我必须修改我的 .htaccess 文件,该功能允许我的网站成员以 myWebsite/membersName 的形式输入一个 url 并被转发到他们的主页,直到添加虚 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/"
4

1 回答 1

0

尝试在以下条件下更改此条件#for vanity urls

RewriteCond %{REQUEST_FILENAME} >""

至:

RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f

您要确保潜在成员名称不是现有资源(目录或文件)。否则,只需提供资源。不确定您要与您所拥有的条件进行比较。%{REQUEST_FILENAME}var 仍然是成员名称。

于 2012-08-27T22:24:21.643 回答