我想使用htaccess将资产目录从mysite.com/demo/assets/重写为mysite.com/assets。
我尝试了很多组合,但是没有一个起作用,我认为这与我当前的htaccess参数有关
原始代码
RewriteEngine on
RewriteCond $1 !^(index\.php|resources|robots\.txt)
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php?/$1 [L,QSA]
AddDefaultCharset utf-8
我通过下面的代码实现了这一技巧,但是添加css参数的js函数不再起作用。
RedirectMatch 301 ^/demo/assets/(.*)$ /assets/$1
我已经创建了实际的/ demo / assets文件夹并添加了具有波纹管参数的htaccess文件,它也可以解决CSS问题,但是js仍然无法正常工作
RewriteEngine on
RewriteBase /demo/assets/
RewriteRule ^(.*)$ /assets/$1 [L,NC]
任何人的帮助
好吧,经过一整夜的研究,我终于找到问题的根源。 js由于tinymce库而出现故障,当我在demo / assets / plugins中手动上载它时,一切似乎都正常!
现在,我试图找出为什么tinymce出现故障,并将其保存在共享的/ assets文件夹中。
奇怪的问题似乎在demo / assets / plugins / tinymce / langs目录中,该目录仅包含readme.md
答案 0 :(得分:0)
在您的.htaccess
文件中:
Redirect /demo/assets /assets
答案 1 :(得分:0)
使用.htaccess
尝试一下:
RewriteEngine On
RewriteRule ^demo/assets/$ /assets/ [L,R=301]
OR
RedirectMatch使用与URL路径匹配的正则表达式。
RedirectMatch 301 ^/demo/assets/$ /assets/
使用routes.php文件 (在application / config / routes.php中)
尝试一下:
$route['assets'] = "demo/assets/$1";
然后,您必须将编码中的每个链接从<?php echo site_url();?>demo/assets/
更改为<?php echo site_url();?>assets/
注意:-这对于Codeigniter中的自定义URL是一个很好的解决方案。 无需更改.htaccess。
有关更多信息,请参阅CI文档。