我最近不得不将网站迁移到新主机并复制数据库和文件而没有任何问题。
现在当我加载网站时,所有媒体,css和链接都被破坏了,但我知道文件在那里。我想我的htaccess文件可能有问题。
这里是htaccess的内容:
RewriteEngine On
RewriteBase /
#RewriteBase /
RewriteRule ^admin.*$ - [PT]
RewriteRule ^files/.*$ - [PT]
RewriteRule ^(.*(jpg|jpeg|gif|png|css|js|txt|swf|php)+)$ - [PT]
RewriteCond %{REQUEST_FILENAME} !admin
RewriteRule ^(.*)$ index.php?section=$1 [L,QSA]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
该网站是francokickboxing.com。我不是这个网站的原始开发者,当他们决定搬迁他们的托管时,我刚刚被朋友问过。
答案 0 :(得分:0)
将RewriteCond行(最后2行)移至RewriteRules
之前因为它们基本上就是你的逻辑(如果检查)你永远不会到达那里...... if检查需要在执行规则之前进行:)
答案 1 :(得分:0)
尝试在规则中添加L
标记,并确保最后的条件实际应用于索引路径:
RewriteEngine On
RewriteBase /
RewriteRule ^admin.*$ - [L]
RewriteRule ^files/.*$ - [L]
RewriteRule ^(.*(jpg|jpeg|gif|png|css|js|txt|swf|php)+)$ - [L]
RewriteCond %{REQUEST_FILENAME} !admin
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php?section=$1 [L,QSA]
如果它们仍然损坏,那么您可能会遇到相对URL问题。如果您有所有css / scripts / media的相对链接,那么您需要将它们更改为绝对URL(以/
开头)或向页面标题添加相对URI基础:
<base href="/" />