1

嗨,我之前在 Stack Over flow 上发布了一个问题,并且很幸运地收到了对我最初的问题的一些帮助,这帮助我更好地理解我想要实现的目标是可能的。

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

我正在构建一个系统,用户可以在其中共享他们的个人资料在其他网站上,所以我想知道是否可以缩短实际的 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 停止工作。

任何建议,将不胜感激

4

2 回答 2

0

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]
于 2012-05-20T17:26:45.560 回答
0

这是服务器故障问题。

  1. 你正在运行 apache 吗?
  2. 是否启用了 apache mod_rewrite 模块?

    debian:a2enmod 重写;/etc/init.d/apache2 重启

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

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

  5. 尝试简单版本:

代码:

RewriteEngine On
RewriteBase /
RewriteRule  ^profile.php profile.php [QSA,L]
RewriteRule  ^(.*)$ profile.php?user=$1 [QSA,L]
于 2012-05-20T14:33:16.087 回答