0

私は以下を達成する.htaccessファイルを作成しようとしています

  1. この www.mydomain.com/About-Us のようなきれいな URL をページ page.php?title=About Us で作成します
  2. この www.mydomain.com/?search=abc のような URL で渡されたパラメーターを使用してデータベースにクエリを実行すると、ページ index.php?search=abc にプルされます

これはこれまでの私のコードです

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

RewriteRule ^?search=([0-9]*)$ index.php?id=$1 ## e.g www.mydomain.com/?search=try
RewriteRule ^([A-Z]*)$ page.php?name=$1 
## www.mydomain.com/About-Us

##ErrorDocument 404 PageNotavailabale


####Protect the system from machines with worms
RewriteRule (cmd|root)\.exe - [F,E=dontlog:1]

#### To hold and redirect css/images/js files
RewriteRule images/(.+)?$ images/$1 [NC,L]
RewriteRule css/(.+)?$ css/$1 [NC,L]
RewriteRule js/(.+)?$ js/$1 [NC,L]
4

1 に答える 1

3

検索エンジンにこの種の URL を使用しないのはなぜですか : www.domain.com/search/abc?

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

RewriteRule ^search/([a-zA-Z0-9]+)$   index.php?search=$1
RewriteRule ^([a-zA-Z0-9]+)$          index.php?page=$1 

次に、 でページにアクセスしますwww.domain.com/<myPage>

そしてあなたの検索エンジンwww.domain.com/search/<mySearch>

編集 :

ルールでは多くのパラメーターが許可されていないことに注意してください。

  • ^?search=([0-9]*)$数値のみを許可します (空のパラメーターも)
  • ^([A-Z]*)$大文字のみを許可します (および空のパラメーターも)
于 2012-06-09T11:07:35.713 に答える