0

私は自分のウェブサイトを codeigniter で開発しました。.htaccess ファイルで達成することがいくつかあります。

  • index.phpimg、以外のページ/リソースについてはjs、URL の実際のリソースの前cssに追加する必要があります。index.php

  • contact_us.phpなど、非常に多くの静的ページに unserscore "_" が含まれています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]

ここでの問題は、URL を指定すると問題www.mywebsite.com/contact_usなく動作し、アドレス バーに同じ 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 に答える