2012-04-27 5 views
0

どうすればよいですか?これについては多くの話題がありますが、私はそれらのすべてを試してみましたが、うまくいきませんでした。 .htaccessの経験がほとんどないので、誰かが私に精巧で広範な答えを与えることができますか?site.com/index.php?p=xxxからsite.com/xxx/にアクセスする方法

ありがとうございます!

+1

apache書き換えルールを使用 – vvr

+0

htaccess modリライト –

+0

これには多くのチュートリアルがあります。Googleにスローするキーワードは["検索エンジンにやさしいURL"](http://www.google.com/search?q=search+engine+friendly+urls) – DaveRandom

答えて

1
心から

、その必要がある場合がありますいくつかこれは(内部的に!)

を/site.com/index.php?p=xxxす​​るsite.com/xxxをお送りします

RewriteEngine on 
RewriteRule ^([^.]*)/?$ index.php?p=$1 [L] 

微調整

index.phpでは、通常どおり$ _GET ['p']で任意の操作を行うことができますが、ユーザーはindex.site.com/xxxとしてサイトを表示します

+0

ですありがとうございました。これは動作しますが、スラッシュの有無にかかわらず動作させる方法はありますか? また、その逆のルールは何ですか?もし人々がindex.phpを記入するとすれば、それは自動的に/ xx /に送られますか? – user1306458

+0

また、どのようにpage.phpを変更するのですか?cat = x&page = 3&sortby = bla/page/x/3/bla /? – user1306458

+0

上記のソリューションを使用すると、site.com/page/x3/blaはsite.com/index.php?p=page/x3/blaとして内部的に書き直されますので、explode( '/'、$ _GET ['p '])すべてのパラメータを取得します。あなたのURL構造が一貫していることを確認してください。 ?p = ...でURLを扱うための同様のRewriteRuleを書くことはできますが、それには本当に理由はありません。 – Johan

1
RewriteEngine On 

RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_FILENAME} !-d 

RewriteRule (.*)/ index.php?p=$1 
関連する問題