私は自分のウェブサイトを codeigniter で開発しました。.htaccess ファイルで達成することがいくつかあります。
index.php
、img
、以外のページ/リソースについては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
。