.htaccess - css已停用

时间:2013-01-23 11:33:37

标签: php css .htaccess

我编辑了.htaccess之后。无法再访问css文件。如何摆脱这个问题。

如果我禁用我的重写规则,是的,那么它工作正常,但是当我在url栏中输入file.php?id = 5& title = hello时,它不会将我重定向到file.php?id / title ,所以我必须手动输入,当我这样做,然后删除css

.htaccess代码:

RewriteEngine On
RewriteRule ^([0-9]+)/([a-zA-Z0-9_-]+)$ file.php?id=$1&title=$2
RewriteRule ^([0-9]+)/([a-zA-Z0-9_-]+)/$ file.php?id=$1&title=$2

我也试过这个:

 RewriteEngine On
 RewriteCond %{REQUEST_FILENAME} !-f
 RewriteCond %{REQUEST_FILENAME} !-d
 RewriteRule ^([0-9]+)/([a-zA-Z0-9_-]+)$ file.php?id=$1&title=$2
 RewriteCond %{REQUEST_FILENAME} !-f
 RewriteCond %{REQUEST_FILENAME} !-d
 RewriteRule ^([0-9]+)/([a-zA-Z0-9_-]+)/$ file.php?id=$1&title=$2

我也试过这个:

 RewriteEngine On
 RewriteCond $1 !^(jpg|jpeg|gif|ico|png|media|txt|xml|css|js)
 RewriteRule ^([0-9]+)/([a-zA-Z0-9_-]+)$ file.php?id=$1&title=$2
 RewriteRule ^([0-9]+)/([a-zA-Z0-9_-]+)/$ file.php?id=$1&title=$2

我想隐藏我的URL,以提高SQL注入的安全性。

更新

这是一个有效的版本:

url:http://localhost/21760

.htaccess文件:

        RewriteEngine On
        RewriteCond %{REQUEST_URI} !-f
        RewriteCond %{REQUEST_URI} !-d
        RewriteRule ^([0-9]+)$ file.php?id=$1&
        RewriteCond %{REQUEST_URI} !-f
        RewriteCond %{REQUEST_URI} !-d
        RewriteRule ^([0-9]+)/$ file.php?id=$1

我使用了它,它就像一个魅力,没有反斜杠。

  RewriteEngine On
  RewriteRule ^([a-zA-Z0-9_-]+)-watch-file-([0-9]+).html file.php?title=$1&id=$2

3 个答案:

答案 0 :(得分:4)

您可以为您的规则设置条件,因此那些条件不适用于存在的文件

RewriteCond %{REQUEST_FILENAME} !-f

您还可以为目录添加一个

RewriteCond %{REQUEST_FILENAME} !-d

然后您的文件可能看起来像

RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^([0-9]+)/([a-zA-Z0-9_-]+)$ file.php?id=$1&title=$2
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^([0-9]+)/([a-zA-Z0-9_-]+)/$ file.php?id=$1&title=$2

答案 1 :(得分:1)

发布的建议是防止mod_rewrite重写现有文件的正确方法。 如果您能够:检查您的apache访问和/或错误日志,看看在您的浏览器中直接调用CSS URI时会发生什么,并让我们知道这会导致什么。

第二个想法:您无法访问CSS URI的问题是什么?或者是调用网页时CSS看起来不起作用的问题? 如果是后者,那么在调用CSS文件时你也可以处理相对vs绝对URI问题,你可以尝试在“RewriteEngine On”行下面添加以下内容:

  

RewriteBase /

答案 2 :(得分:0)

RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^([0-9]+)/([a-zA-Z0-9_-]+)$ file.php?id=$1&title=$2
RewriteRule ^([0-9]+)/([a-zA-Z0-9_-]+)/$ file.php?id=$1&title=$2