2016-11-04 4 views
1

書かれていないURLにアクセスしたときに、このようにしたいと考えています。たとえば、website.com/profile.php?name=Alexのように、404が見つかりませんでしたページにリダイレクトされます。しかし、website.com/profile/Alexにアクセスすると、正常に動作します。どうすればこのことができますか?Htaccessから書き換えられていないURLを使用している場合、どのようにユーザーをリダイレクトできますか?

答えて

2

あなたはこれらのルールを使用することができます。

Options -MultiViews 
RewriteEngine On 

# 404 if using internal URL directly 
RewriteCond %{THE_REQUEST} /profile\.php\?name= [NC] 
RewriteRule^- [R=404,L] 

# rewrite for /profile/alex 
RewriteRule ^(profile)/([\w-]+)/?$ $1.php?name=$2 [L,QSA,NC] 
+0

感謝を!出来た。 –

+0

私はまだ問題があります.. これを使用して404文書を呼び出すときはいつも: ErrorDocument 404 /alliance/404.php 最初のルールの404ページにリダイレクトされます。だから私があなたが私に2回与えたことを各ページに1回使ったとすると、.htaccess文書の最初のルールの404ページにリダイレクトされるだけです。残りのルールでは、デフォルトの404ページにリダイレクトされます。 「さらに、要求を処理するためにErrorDocumentを使用しようとしているときに、404 Not Foundエラーが発生しました。テキスト。 –

関連する問題