所以我已经有一个htaccess文件可以正常工作,但是我想把它从一堆参数改为只有一个。
所以我当前的htaccess文件看起来像这样:
Options +FollowSymLinks
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !/(_modules|css|files|fonts|ico|img|js)/
RewriteRule ^([^/]*|)/?([^/]*|)/?([^/]*|)/?([^/]*|)/?([^/]*|)/?([^/]*|)/?([^/]*|)/?([^/]*|) index.php?p1=$1&p2=$2&p3=$3&p4=$4&p5=$5&p6=$6&p7=$7&p8=$8 [L,QSA]
所以我修改它看起来像这样: 选项+ FollowSymLinks
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !/(_modules|css|files|fonts|ico|img|js)/
RewriteRule ^([^/]*|)/? index.php?p1=$1 [L,QSA]
但突然之间我的css或外部文件都没有了。
有没有人有任何建议如何让htaccess网址工作,以便它可以更改网址
http://www.example.com/template/index.php?controller=blog/i-am-a-title
到
http://www.example.com/template/blog/i-am-a-title
并且仍然如此css/style.css
正常工作
答案 0 :(得分:3)
你可以尝试这条规则:
RewriteEngine On
RewriteCond %{REQUEST_URI} !^/(index\.php|(_modules|css|files|fonts|ico|img|js)/)
RewriteRule ^([^/]+)/?$ /index.php?p1=$1 [L,QSA]
在css,js,images文件中使用绝对路径,而不是相对路径。这意味着您必须确保这些文件的路径以http://
或斜杠/
开头。
答案 1 :(得分:1)
尝试将此添加到您网页的标题中:
<base href="/template/">
如果您的样式都是相对链接,那么当网址更改为/template/blog/i-am-a-title
时,相对网址将更改为/template/blog/
,您的相关链接将全部中断。