2011-10-20 23 views
1

に追加され、私は1つのCMSサイトを作り、私は私のURLを書き換える必要があるこんにちはがルールを書き換えるの.htaccess、最後のクエリ文字列は、URL

現在の私のurlは、それは私がしたいcmsLink
を指しhttp://www.example.com/index.php?link=pages&cmsid=2&cmsLink=Carpet
です私のurlはhttp://www.example.com/Carpet
ように私は

Options +FollowSymLinks 
Options +Indexes 
RewriteEngine on 
RewriteBase/
RewriteRule ^index.php?link=(.*)&cmsid=(.*)&cmsLink=(.*) $3 

答えて

2

現在の私のURLがhttp://www.example.com/index.php?link=pages&cmsLink=Carpet

RewriteCond %{REQUEST_URI} !/admin 
RewriteCond %{REQUEST_URI} !^/(.*).php 
RewriteBase/
RewriteRule ^([^/]+)/?$ index.php?link=pages&cmsLink=$1&%{QUERY_STRING} [L] 
私はcmsidを削除置く正規表現や他のティンズhtacessでも

を使用
htaccessファイルであると、それを直接ことはできませんこのURLをachiveするには

私を返すhttp://www.example.com/Carpet

1

はこれにあなたの最後のルールを変更してみてください、次のコードを使用しています:

RewriteRule ^(.+)$ /index.php?link=pages&cmsid=2&cmsLink=$1 

あなたはhttp://www.example.com/CarpetのようなURLを持つようにしたいので、あなたのURLでcmsidlink2pagesにハードコードする必要があるため。

+0

cmsidとリンクはハードコードされていません –

+0

cmsidとリンクはハードコーディングされていないRewriteRule ^([^ /] *)/([^ /] *)/([^ /] *)\ $ /index.php?link=$1&cmsid=$2 &cmsLink = $ 3 [L] 'それは** http://www.example.com/pages/2/Carpet**のように書かれていますが、** http://www.example.comのようなURLが必要です/ Carpet ** –

+0

example.com/Carpetのようなurlを望むなら、.htaccessはどのように値2を知っていますか? .htaccessはどこから値2を取得しますか?または、値2はexample.com/TableのようなURLでは同じままですか? –

関連する問題