我在codeigniter中开发了我的网站。我有几件事要在 .htaccess 文件中完成。
index.php
对于除,img
,以外的任何页面/资源js
,css
我希望它index.php
在 url 中的实际资源之前添加。我有很多静态页面,其中包含 unsercore “_”,例如,
contact_us.php
等our_services.php
。我希望当用户提供 url 时,www.mywebsite.com/our-services
它应该打开原始页面,即www.mywebsite.com/our_services
. 不同页面有 1,2 到 7 个下划线,例如,mywebsite.com/speech_writing_services
这是我到目前为止可以建立的 .htaccess 文件:
RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_URI} !^(/index\.php|/img|/js|/StyleAdmin|/images|/StyleAdmin/images|/css|/robots\.txt|/favicon\.ico)
RewriteRule ^(.*)$ /index.php/$1 [L]
RewriteRule ^([^-]*)-([^-]*)$ http://www.mywebsite.com/$1_$2 [R=301,L]
RewriteRule ^([^-]*)-([^-]*)-([^-]*)$ http://www.mywebsite.com/$1_$2_$3 [R=301,L]
RewriteRule ^([^-]*)-([^-]*)-([^-]*)-([^-]*)$ http://www.mywebsite.com/$1_$2_$3_$4 [R=301,L]
RewriteRule ^([^-]*)-([^-]*)-([^-]*)-([^-]*)-([^-]*)$ http://www.mywebsite.com/$1_$2_$3_$4_$5 [R=301,L]
RewriteRule ^([^-]*)-([^-]*)-([^-]*)-([^-]*)-([^-]*)-([^-]*)$ http://www.mywebsite.com/$1_$2_$3_$4_$5_$6 [R=301,L]
这里的问题是,当我提供像www.mywebsite.com/contact_us
它一样工作的 url 并在地址栏中显示相同的 url 时。但是当我给出这个 urlwww.mywebsite.com/contact-us
时,它确实显示了页面,但是浏览器地址栏中显示的 url 变成了www.mywebsite.com/index.php/contact_us
,而我希望它像删除后www.mywebsite.com/contact_us
一样。index.php