2016-07-01 2 views
1

私は本当にmod re writeを使ったことはありません。私はそれを実装する最良の方法を理解しようとしています。 .php拡張子を削除する。私はリンクが文句を言わない、それをdomain.com/index.phpする場合、私はリンクdomain.com/をすれば、それはまたModリライトロジック

をdomain.com/index書き込み直すこと

RewriteEngine on 
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteCond %{REQUEST_FILENAME}\.php -f 
RewriteRule ^(.*)$ $1.php 

問題があり、このコードを見つけました人はまだ.phpを追加することができます、それはまだ正常に動作します。

私は正しい方法を知りたいです.HTMLでURLをハードコードする必要がありますか、それとも自動的にできることはありますか?

私は彼らがあなたが.phpを除去するための追加的なルールを必要とするエンド

+0

を可能な複製を(http://stackoverflow.com/questions/10028025/how-can-i -use-htaccess-to-hide-php-url-extensions) – ldg

+0

両方の条件を許可する必要があります。 ".php"拡張子を隠すことがPHPを難読化することになっている場合、代わりに404を考えたり、すべての拡張をベースルートにルーティングしたりすることができます。もしそれがURLを肯定するなら、[this](http://stackoverflow.com/questions/10028025/how-can-i-use-htaccess-to-hide-php-url-extensions)が動作するはずです。 – ldg

答えて

0

に.PHPを追加できるようにしたいいけません。あなたが使用しているルールでは、拡張子なしでphpファイルにアクセスできますが、拡張子は削除されません。 .phpあなたが使用することができます削除するには:[?どうやって.PHP URLの拡張子を隠すために.htaccessファイルを使用することができます]の

RewriteEngine on 
#1) redirect "/file.php" to "/file" 
RewriteCond %{THE_REQUEST} /([^.]+)\.php [NC] 
RewriteRule^/%1 [L,R,NE] 
#2) internally map "/file" back to "/file.php" 
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteCond %{REQUEST_FILENAME}\.php -f 
RewriteRule ^(.*)$ $1.php 
+0

starkeenこれをミックスに追加する方法http://localhost/site/profile/member.php?user = 1308 to http:// localhost/site/profile/1308 – Amoro