最近转移到Media Temple,它通过发送完整路径而不是相对路径打破了我所有精彩的RewriteRules,因此我需要对mod_rewrite
进行重大更改
他们的立场:
RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_URI} !index
RewriteRule (.*) index.php [L]
RewriteRule ^www/ index.php [L]
我的文件夹和网址结构,其中真实文件夹以粗体显示:
/
/万维网
/网络/经验
/网络/经验/项目段塞 - 即JS-手柄
/ www / project-files-folder / css等
/ assets / js,css等
/ www 和 / www / experience / project-slug-that-js-handles 成功重写到/index.php,但是来自/ www请求的资产/ experience / project-slug-that-js-handles也被重写为/index.php,这就是问题所在。
那么可以告诉RewriteRule只影响目录中的文件夹,还是我需要更好的条件/规则?
由于
答案 0 :(得分:0)
实际上你的最后一条规则是罪魁祸首,导致css / js加载错误:
RewriteRule ^www/ index.php [L]
用以下代码替换您的代码:
RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_URI} !index
RewriteRule ^ index.php [L]
RewriteRule ^www/?$ index.php [L,NC]
^www/?$
仅匹配/www/
而不是/www/