0

我在codeigniter中开发了我的网站。我有几件事要在 .htaccess 文件中完成。

  • index.php对于除, img,以外的任何页面/资源jscss我希望它index.php在 url 中的实际资源之前添加。

  • 我有很多静态页面,其中包含 unsercore “_”,例如,contact_us.phpour_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

4

1 回答 1

0

您需要在重定向后进行路由。

RewriteEngine on

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]

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]
于 2012-08-04T11:27:07.170 回答