网站URL:正在将页面定向到修改后的索引


Website URL: is directing page to a modified index

很抱歉标题不合适。这是发生的事情。如果我去:

  • URL.com/#我能很好地看到我的网站
  • URL.com/sagfasfr#我能很好地看到我的网站(URL中的随机噪音)
  • URL.com/sagfas/udsudfsa#我得到了我的索引,但没有我的CSS样式(URL中的随机噪声+带有更多噪声的sub)

我配置了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,但我的ReWrite规则不起作用请告知顺便说一句,此网站是一个注册表,因此主页DIR之外的所有页面都不应直接访问。

顺便说一句:BOX是APACHE,LINUX

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

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

对样式和其他url使用绝对链接,因此使用style.css而不是http://www.yourdomain.com/path/to/style.css

对所有其他url执行此操作。

如果你需要它直接到主页,请在你的页面上添加这个:

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

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

更新:我明白你的意思。由于它不存在,您正在将页面"重定向"到url.com。但你必须记住。它不会重定向。它只会简单地在同一个url上显示该页面。这就是上面两段代码的用武之地。

.htaccess中的行不进行任何重写,您需要为此添加一些重写规则。但是,既然你声称随机url会将你发送到你的网站,我想一定有另一个.htaccess(可能在父目录中)在这里进行实际重定向。

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