我编辑了.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
答案 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