2017-09-13 12 views
-2

私は手動で追加しているサブフォルダにニュースセクションを持つサイトを持っています。フレンドリーURLのRewriteRule

www.example.com/subfolder/news-and-views/name-of-article.php

私は最近、簡単にこれらの記事を追加するようにするという単純なCRUD機能を作りました。

私が持っている:

  1. www.example.com/subfolder/news-and-views/index.php - これは、すべての記事
  2. www.example.com/subfolder/news-and-views/article.phpを表示する - これが$_GET要求

私は記事を表示するときに、私はで終わるURLからIDパラメータを取ります:

www.example.com/subfolder/news-and-views/article.php?Id=name-of-article

私はいくつかの読書をしたとのRewriteRuleをテストするためにhttp://htaccess.mwl.be/を使用

ルールは次のとおりです。RewriteRule /news-and-views/(.+) /news-and-views/article.php?Id=$1.php [L]

しかし、私はnews-and-vies/(インデックスページ)に行くとき、私のCSSが取り除かれて、私のパスがあるとして何も表示されませんかわった。

また、実際のインデックスページを使用するのではなく、何も渡さずにarticle.phpid?=に行くようです。

パスを設定するには、$path2rootという名前の変数をルートに使用するディレクトリの番号にします。 例えば$path2root = "../../";

ので:私はinclude $path2root . "includes/head.php"

は、この変数をinterferring私のRewriteRuleです必要があるだろうか?

私の.htaccessファイル

RewriteEngine On 
RewriteRule /news-and-views/(.+) /news-and-views/article.php?Id=$1.php [L] 

マイファイル構造

/ .htaccess at this level (root) 
--/ subfolder 
----/ news-and-views 
------/ index of news and views 
+0

は、代わりに次のようなものを試してみてください? _substitution_文字列の '/ subfolder'には何が起こったのですか? '.htaccess'ファイル全体を含めてください。 – MrWhite

+0

さて、詳細を追加します –

答えて

1
RewriteRule /news-and-views/(.+) /news-and-views/article.php?Id=$1.php [L] 

私のコメントで述べたように、あなたは、/subfolderを省略しているように見えますそうどのようにしてこの書き直しが成功するのかよく分かりません。また、既存のファイル(例えば、index.phparticle.phpとCSS?)を書き直し、書き換えループを作成することに注意する必要があります。この `.htaccess`ファイルが配置されている

RewriteEngine On 
RewriteCond %{REQUEST_FILENAME} !-f 
RewriteRule ^(subfolder/news-and-views)/(.+) /$1/article.php?Id=$2.php [L]