2017-11-14 8 views
0

私はHTACCESSを勉強するのが初めてです。ウェブサイトのURLを操作して、より「SEOフレンドリー」にして正しく読み込むよう努めています。私は正しい方向に私を向ける必要があるものすべてを検索しようとしましたが、すべてが "wordpress"のようであり、これはカスタムビルドサイトです。.htaccess(wordpressではなく)でカスタムURLの後ろにスラッシュを削除する

ここは私の問題です。このサイトには以前のデベロッパーがいました。物事は混乱していました。サイトを整理するのに無駄な時間を費やしました。このようなURLを表示するサイトを作成しました。 "www.sitename.com/about-us.php"

私はhtaccessに十分慣れているので、.phpの末尾の拡張子を削除する方法を知っています。末尾のスラッシュを必要としない末尾の変数も正しく表示しています最後に「sitename.com/about-us?contact=true」

私はブログ閲覧ページに次のようなURLを読み込むことができました: "sitename.com/posts/post-name-here/"これには後続のスラッシュが必要です。

など私は何を達成しようとしている、のようないくつかのページの変数の末尾で正しく動作登録、適用するURL文字列を作っているので、これらのURLは、このようなものになるだろう。 "sitename.com/auth/apply"または "sitename.com/auth/register"

私の問題は、URLに末尾にスラッシュを付けるか、読み込まないことです。

プラス末尾の変数を追加し、次のようにフォーマットされた場合にのみ動作します。私はそれがより次のようになり好む

を「sitename.com/auth/apply/?application=submitted」。 "sitename.com/auth/apply?application=submitted"、末尾にスラッシュはありません。しかし、私はこれを達成する方法を見つけることができません。

ここは私の.htaccessスニペットです。

RewriteEngine on 
RewriteCond %{REQUEST_FILENAME} !-f 
RewriteRule ^posts\/(.*)/$ /view-post.php?post=$1 [QSA,NC,L] 
RewriteRule ^auth\/(.*)/$ /auth-action.php?action=$1 [QSA,NC,L] 
RewriteRule ^([^\.]+)$ $1.php [NC,L] 

誰かが私を助けたり、正しい方向に向けることができますか?

答えて

0

.htaccessで次のコードを使用してください。これにより、URLから末尾のスラッシュが削除されます。

RewriteCond %{REQUEST_FILENAME} !-d 
RewriteCond %{REQUEST_URI} (.+)/$ 
RewriteRule^%1 [R=302,L] 

これをテストする前にキャッシュをクリアしてください。 301の代わりにR=302を設定したことに気付くでしょう。これはテスト目的のための一時的なリダイレクトになります。リダイレクトに満足している場合は、301に変更して永久にしてください。

関連する問題