2016-12-16 9 views
0

.htaccessを使用して親しみやすいURLを作成したいと思います。URLから.php拡張子を削除しますが、親しみやすいURLは機能しません。

私はすでにこの

RewriteRule ^pagename/([a-zA-Z0-9]+)/$ projectname/pagename.php?id=$1 

のためのソリューションを試してみました。しかし、それはまた、私が持っている

を働いていないのURLの下に

http://localhost/projectname/pagename/1 

http://localhost/projectname/pagename.php?id=1 

を変換したいです以下に述べるリンクではなく

How to write htaccess rewrite rule for seo friendly url

Creating SEO friendly urls using htaccess

私に.htaccessファイルを右溶液を得

のhtaccessファイルの上に使用して
Options +FollowSymLinks -MultiViews 
# Turn mod_rewrite on 
RewriteEngine On 
RewriteBase/

RewriteRule ^pagename/([a-zA-Z0-9]+)/$ projectname/pagename.php?id=$1 

## hide .php extension 
# To externally redirect /dir/foo.php to /dir/foo 
RewriteCond %{THE_REQUEST} ^[A-Z]{3,}\s([^.]+)\.php [NC] 
RewriteRule^%1 [R,L,NC] 

## To internally redirect /dir/foo to /dir/foo.php 
RewriteCond %{REQUEST_FILENAME}.php -f 
RewriteRule^%{REQUEST_URI}.php [L] 

私は、URLから.php拡張子を削除することができますが、SEOフレンドリーなURLを生成しません。

ありがとうございます。

+0

ます(http: //altorouter.com/)を参照してください。 – Abhishek

+0

関数と呼び出し関数を作ってaltorouterを使わずに簡単にURLを変換することができますが、.htacesssを使って実現したいのですが、私は –

答えて

0

あなたが行かなければならないだろうので、あなたは、あなたのルールの末尾にスラッシュを持っている:

http://localhost/projectname/pagename/1/ 

をまたはにルールを変更:[AltoRouter]

使用できる
RewriteRule ^pagename/([a-zA-Z0-9]+)$ projectname/pagename.php?id=$1 
+0

が依然として動作しないことを尋ねました –

+0

htaccessファイルはどこに保存されていますか?^projectname/pagename /([a-zA-Z0-9] +)を実行してみてください$ –

+0

は提供しているルールを変更しましたが、urlをprojectname/pagenameに変換していますか?id = $ 1 –

関連する問題