2016-05-09 7 views
0
私はあなたが/ログインに行くのであれば/あなたが

htaccessファイルのRewriteRuleディレクトリはリダイレクト

もし/login.phpなどなど読み込み(ファイルが存在する場合)は、ユーザーがディレクトリを要求するとき、 をファイルをロードするためにhtaccessファイルを使用してい

要求はindex.phpではなく、 "map"(ファイル)が存在しない場合は、マップの後ろにmapを付けてuser.phpをロードする必要があるため、/thomas/はuser.phpをロードする必要がありますか?dir = thomas

これは私が望むものですが、動作させることができないようですが、これは現在私のhtaccessですが、動作しますが、login/register/logoutもuser.phpに追加されます。 (例えば)索引がロードされたときに無限ループで実行されます。

RewriteEngine On 

RewriteBase/
RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteCond %{REQUEST_URI} !index\.php [NC] 
#RewriteRule ^(login|register|logout)(/|)$ $1.php [L,NC,QSA] 
RewriteRule ^([^\?]*)$ user.php?dir=$1 [L,QSA] 

ありがとうございます!

編集: .htaccessを変更して、phpファイルが存在するかどうかを確認し、含まれている場合はそれを含めます。しかし、今、私のフォルダ/設定は/もう動作しません;。(

RewriteEngine On 

RewriteBase/
## 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} !-f 
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteCond %{REQUEST_FILENAME} ^(.*?)(/(.*)|)$ 
RewriteCond %{DOCUMENT_ROOT}$1.php -f 
RewriteRule ^(.*?)(/(.*)|)$ $1.php?args=$2 [L,QSA] 


RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteRule ^([^\?]+)$ user.php?dir=$1 [L,QSA] 

私は/設定/モジュールに行くときことを、私はそれは例えば試してみたいルートと同じように起こるために同じことをしたいです最初に/settings/modules/index.phpが存在するかどうかをチェックし、そうでない場合は/settings/modules.phpが存在するかどうかをチェックし、存在しない場合はsettings.phpが存在するかどうかを確認します私はこれが可能であるかどうかを知りません。私は願っています

\私の意図は)明確なXです

答えて

0

試してみてください。

RewriteEngine On 

RewriteBase/
# let existing file/dir pass through untouched# 
RewriteCond %{REQUEST_FILENAME} -f 
RewriteCond %{REQUEST_FILENAME} -d 
RewriteRule^- [L] 
##### 
RewriteRule ^(login|register|logout)/?$ $1.php [L,NC,QSA] 
RewriteRule ^(.+)$ user.php?dir=$1 [L,QSA] 
+0

それでも私は無限の書き換え問題をもたらします:3 –

+0

ブラウザのキャッシュをクリアしてみてください – starkeen

+0

オリジナルの投稿を編集しましたが、いくつかのものをグローバルに変更しましたが、 –