很抱歉标题不合适。这是发生的事情。如果我去:
- 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的路径,所以当您在子目录中时,该路径不再有效