-2

抱歉标题很尴尬。这是怎么回事..如果我去:

  • URL.com/ # 我完美地看到了我的网站
  • URL.com/sagfasgfr # 我完美地看到了我的网站(url 中的随机噪音)
  • URL.com/sagfas/udsudfsa # 我得到了我的索引,但没有我的 CSS 样式(url 中的随机噪声 + 子噪声更多)

我已经配置了 HTACCESS:

ErrorDocument 404 http://URL.com
ErrorDocument 403 http://URL.com
ErrorDocument 500 http://URL.com

<IfModule mod_rewrite.c>

 Options +FollowSymlinks

 RewriteEngine On

</IfModule>

我也想删除.php,但我的重写规则不起作用。请告知顺便说一下,本网站是一个注册表单,因此家庭以外的所有页面DIR都不应直接访问。

顺便说一句:BOX 是 APACHE,Linux

删除 .php 的重写规则导致内部服务器错误

RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME}\.php -f
RewriteRule ^(.*)$ $1.php
4

2 回答 2

1

为您的样式和其他 url 使用绝对链接,所以不要style.css使用http://www.yourdomain.com/path/to/style.css.

对所有其他网址执行此操作。

如果您需要将其定向到主页,请将其添加到您的页面上:

if ($_SERVER['REQUEST_URI'] != 'correcturi') {
header("Location: correcturi", 301);
exit();
}

替换correcturi为您希望页面重定向到的 uri。

更新:我明白你的意思。由于它不存在,因此您正在将页面“重定向”到url.com. 但你必须记住。它不会重定向。它只会在相同的 url 上显示该页面。这就是上面两段代码派上用场的地方。

于 2012-09-08T23:51:43.623 回答
0

.htaccess 中的行不进行任何重写,您需要为此添加一些 RewriteRules。但是由于您声称随机 url 将您发送到您的站点,我想肯定有另一个 .htaccess (可能在父目录中)在此处执行实际重定向。

而且,css 没有显示,因为您可能在样式表 href 中使用相对于 webroot 的路径,所以当您在子目录中时,此路径不再有效

于 2012-09-09T00:06:00.463 回答