私が取り組んでいるサイトには、最新のニュース記事がページの中央に表示され、記事の完全なリストが右側のサイドバーに表示されます。URLクエリ文字列の数が異なるリンクのリライト.htaccess
私はから、リンクへの記事のタイトルを追加私のコードでは "かわいい" のリンクを作成することができました:
website.com/news.php?id=4
website.com/news/4/news-article-number-four
へコードでは、私はURLからwww.
を省略することができましたし、また、私のページから.php
ファイル拡張子を削除し、適切なニュース記事を提供するためにURLを書き直すことができました:
ErrorDocument 404 default
ErrorDocument 500 default
Options +FollowSymLinks -MultiViews
RewriteEngine On
# omit www.
RewriteCond %{HTTP_HOST} ^www\.(.+)$ [NC]
RewriteRule^http://%1%{REQUEST_URI} [L,R=301,NE]
# To externally redirect /dir/file.php to /dir/file
RewriteCond %{THE_REQUEST} \s/+(.+?)\.php[\s?] [NC]
RewriteRule^/%1 [R=301,NE,L]
# rewrite pretty link to fetch news article
# was originally ^news/(\d+)/?$ added .* to allow the
# title to be ignored
RewriteRule ^news/(\d+)/?.*$ news.php?id=$1 [NC,L,QSA]
# To internally redirect /dir/file to /dir/file.php
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME}.php -f
RewriteRule ^([^.]+?)/?$ $1.php [L]
このすべてがここにSOの素晴らしい人々から多くの助けを借りて、素晴らしい作品。今楽しい部分。
サイドバーの上部には、ニュースホームと注目のニュースアイテムという2つのリンクがあります。上記の.htaccessコードで
website.com/news
:内部的にリダイレクトされ
<a href="news">News Home</a>
:ニュースホームリンクは非常に簡単ではありません。
注目のニュースアイテムのリンクは、クエリ文字列を持っています
私はにリダイレクトしたい<a href="news/featured/">Featured News Items</a>
:私は、私は別のが必要であることを推測している
news.php?type=featured
注目のニュース記事リンクのルールを書き直してみましたが、これを試しましたが、うまくいかなかった:
# test to add 'featured' in top sidebar link
RewriteRule ^news/(\w+)/?$ news.php?type=$1 [NC,L,QSA]
この書き換えルールが内部リダイレクトなどと衝突しているようです。これはまだすべて私の頭の上に少しです。
さらに、私は注目のニュースアイテムのサイドバーのリンク、これらの線に沿って何かのためにさらに別の書き換えルールが必要になりますと信じて、私はtype=featured
、クエリ文字列に沿って渡すように見えることはできませんので、私はまだそれをテストすることはできません値:
# test to add 'featured' to sidebar links
RewriteRule ^news/(\w+)/(\d+)/?.*$ news.php?type=$1&id=$2 [NC,L,QSA]
そこで質問があり、私は注目のニュース項目とサイドバーのリンク、ニュースホーム用に別の書き換えルールを持っていなければならないのですか?
事前に感謝します。