私は通常、特注のCMSシステムを使用するのに慣れていて、つまずくブロックにぶつかったより少し複雑なウェブサイトを設定しています。次のようなURLがきれいになるようMod_rewrite - .htaccess内の複数のルール
基本的に私が達成したいと思っています、何が簡単なトップレベルのページ構造である:通常
http://www.mywebsite.com/page.php?page_url=val1
問題ありませんが、既存の.htaccess既にいくつかのRewriteRulesが存在し、RewriteRuleを追加するバリエーションは競合し、選択ページが機能しないようにします。
しようとしたバリエーションの周りに...ない喜びで
RewriteCond %{QUERY_STRING} ^page=(.+)
RewriteRule ^$ /%1? [R=301,L]
。
私の戦略を再考する必要があるのですか、それとも単に見落としているものがありますか?
は、私が「market.php」トップレベル・カテゴリページを作るに向けて再考するべき#に書き換え作業は、市場レベルが
私の既存の.htaccessを書き換え指定しない以下のようで、徹底した後、正常に動作します新しい最上位ページを含むように変更するとエラーになります。
Options +FollowSymLinks
RewriteEngine On
RewriteBase/
# Force search engines to use www
RewriteCond %{HTTP_HOST} !^www\.mywebsite\.com$
RewriteRule ^(.*) http://www.mywebsite.com/$1 [R=301,L]
# Specify MARKET LEVEL rewrite
RewriteRule ^top-level-category-1$ /market.php?p=top-level-category-1 [L]
RewriteRule ^top-level-category-2$ /market.php?p=top-level-category-2 [L]
RewriteRule ^top-level-category-3$ /market.php?p=top-level-category-3 [L]
RewriteRule ^top-level-category-4$ /market.php?p=top-level-category-4 [L]
RewriteRule ^top-level-category-5$ /market.php?p=top-level-category-5 [L]
RewriteRule ^top-level-category-6$ /market.php?p=top-level-category-6 [L]
Options +FollowSymLinks
# Specify OFFER LEVEL rewrite
RewriteRule offer/(.*)/ offer.php?p=$1
RewriteRule offer/(.*) offer.php?p=$1
# Specify CLAIM OFFER LEVEL rewrite
RewriteRule get-offer/(.*)/ reveal.php?claim=$1
RewriteRule get-offer/(.*) reveal.php?claim=$1
# Specify CLAIM EVENT LEVEL rewrite
RewriteRule event-bonus/(.*)/ reveal-event.php?claim=$1
RewriteRule event-bonus/(.*) reveal-event.php?claim=$1
# Specify SEARCH LEVEL rewrite
RewriteRule search/(.*)/ search.php?p=$1
RewriteRule search/(.*) search.php?p=$1
# Specify EVENT LEVEL rewrite
RewriteRule offers/(.*)/ offers.php?p=$1
RewriteRule offers/(.*) offers.php?p=$1
# Specify BLOG LEVEL rewrite
RewriteRule blog/(.*)/ blog.php?p=$1
RewriteRule blog/(.*) blog.php?p=$1
RewriteRule view-blog/(.*)/ view-blog.php?p=$1
RewriteRule view-blog/(.*) view-blog.php?p=$1
# Specify EXPIRED OFFER LEVEL rewrite
RewriteRule offer-expired/(.*)/ offer-expired.php?p=$1
RewriteRule offer-expired/(.*) offer-expired.php?p=$1
動作しません。既存の.htaccess内でテストし、ページがロードされない – Lee
@あなたが言ったように適切な.htaccessがあるので、thickguruが動作するはずはありません。もしそうでなければ、それを上書きするか、このルールを無視するあなたの既存のhtaceesで問題になるはずです。 htaccessファイルの上に彼が言ったことを入れましたか? –