Mod-rewrite.htaccess不起作用


Mod-rewrite.htaccess not working

嗨,我

之前在 Stack Over flow 上发布了一个问题,很幸运地在我最初的问题上得到了一些帮助,这有助于我更好地理解我想要实现的目标。

上一个问题在这里: 访问 php url 缩短

我正在构建一个系统,用户可以在其他网站上共享他们的个人资料,所以我想知道是否可以缩短实际的 url,这将提供指向他们个人资料的链接,如下所示,www.somedomain.com/users/profile.php?user=myusername 简单地剪切用户文件夹和个人资料页面,如下所示: www.somedomain.com/myusername

我的代码是:

RewriteEngine On
RewriteBase /
RewriteRule ^index'.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule  /(.*) /users/profile.php?user=$1

可悲的是发生了两件事,首先代码不起作用,其次当我添加此代码时,原始长域上的 css 停止工作。

任何建议将不胜感激

code doesn't work :当然不会,因为它不正确。真的很想知道你是如何在没有正确测试的情况下接受其他问题的。无论如何,请获取此代码并替换您现有的 .htaccess 代码:

RewriteEngine On
RewriteBase /
RewriteRule ^index'.php/?$ - [NC,L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-l
RewriteRule  ^(.*)$ users/profile.php?user=$1 [L,QSA,NC]

这是服务器故障问题。

  1. 您正在运行的阿帕奇吗?
  2. 是否启用了 Apache mod_rewrite模块?

    Debian: a2enmod rewrite;/etc/init.d/apache2 restart

  3. 是否为此目录启用了覆盖?如果使用默认虚拟主机:

    <Directory /var/www/>
            #AllowOverride None
            AllowOverride FileInfo
    </Directory>
    
  4. 什么显示错误.log?tail/var/log/apache2/error.log

  5. 尝试简单版本:

法典:

RewriteEngine On
RewriteBase /
RewriteRule  ^profile.php profile.php [QSA,L]
RewriteRule  ^(.*)$ profile.php?user=$1 [QSA,L]