2016-04-05 9 views
0

を使用して偽のfodersを追加し、私は基本的にすべてがそう事前に任意の偽foder名のapacheのmod_rewriteで

を知らなくても、最後のスラッシュの後で取得

http://site.tld/page?options 

http://site.tld/fake1/fake2/page?options 

を書き換えたいです

+1

にこのコードを置きます本当に悪い –

+0

tnxそれを指摘するための@JustinIurmanしかし、私は重複なく(pear.phpは常にfruit/pear.phpとしてリンクされます)どのように検索エンジンが他のリンクを発明することができますか?私は信じている私はまた、メタ標準URLを使用してこれを修正することができます.. – lhenry2k

+0

それでは。あなたはそれについての私の答えを見ることができます –

答えて

0

キャプチャグループを使用して、次のように置き換えることができます。

正規表現:^(.*\.tld\/).*?([^\/]*$)$

説明:ドメイン名までの部分を開始

  • ^(.*\.tld\/)試合。

  • .*?fake1/fake2/

  • ([^\/]*$)$はURLの後の部分と一致して一致しました。行うには

交換:バック参照グループ\1\2と交換してください。

Regex101 Demo

+0

正規表現は大丈夫ですが、mod-rewriteの内部で動作させることはできません:ルールは満たされません(私も[link](http://htaccess.madewithlove.be/)でチェックしました。任意のヒント?あなたはドメインを管理しましたが、仮想ホストの中にいる必要はありませんか、正規表現内で作業するためのアンカーが必要でしたか? – lhenry2k

0

まず、あなたがmod_rewriteをを有効にし、Apacheの設定ファイルにhtaccessのを許可されていることを確認します。

はその後、あなたの質問は、それがSEOの用語で、あるコンテンツを、複製につながるので、これはまたひどいアイデアです、広すぎるという事実にもかかわらず、あなたのhtaccessの

RewriteEngine On 
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteCond %{REQUEST_FILENAME} !-f 
RewriteRule ^.+?/([^/]+)$ /$1 [L,QSA] 
+1

まだ投票はできません。 – lhenry2k