【发布时间】:2011-01-02 13:19:39
【问题描述】:
我的 .htaccess 文件中有以下内容,我经常这样做是为了获得更清晰的 URL。我知道这有优点和缺点,我想我找到了一个缺点。
RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME}\.php -f
RewriteRule ^(.*)$ $1.php
Options All -Indexes
我为此网站注册了一个新的 cPanel 帐户,因此 URL 如下所示:
http://www.example.com/~newuser/
...example.com 是我的经销商帐户,newuser 是我的客户。
网站加载正常,但是当我点击链接 http://www.example.com/~newuser/about 时,出现以下错误:
请求的网址 /home/newuser/public_html/about.php 在此服务器上找不到。
问题是,这正是我希望它显示的文件,也就是文档根目录。有什么想法吗?
提前致谢。
【问题讨论】:
-
文件夹中的这个.htaccess 是否映射到example.com 或example.com/~newuser 另外-我知道这似乎很明显,但您请求的是example.com/~newuser/about 还是example.com/~newuser/about.php-如果是后者,它将添加一个额外的“.php”
-
我正在请求 example.com/~newuser/about,它应该显示 example.com/~newuser/about.php 而实际上在 URL 中不显示 .php。 .htaccess 位于文件夹/~newuser/ 中(当我们重新指向域时,它将是根目录)。
-
好的 - 只是检查 ;) 您是否尝试禁用 htaccess 以确认这是问题所在 - 我刚刚尝试使用您的 htaccess,它似乎工作正常
-
%{REQUEST_FILENAME}\.php中的\是干什么用的?那部分不是正则表达式。 -
@jeeorse:你还知道哪些其他缺点?
标签: .htaccess mod-rewrite cpanel