-1

.htaccess を使用して URL を変更し、php でページを含めようとしています

古い: http://website.com?page=test

新しい: http://website.com/test

<?php include 'pages/'. $_GET['page'] . '.php'; ?>

.htaccess をどこから始めればよいかわかりませんが、どんな助けでも素晴らしいでしょう、ありがとう:]

4

2 に答える 2

0
<?php include 'pages/'. $_GET['page'] . '.php'; ?>

alone は非常にハッカーフレンドリーです。オプションを許可されたファイルに制限することから始める必要があります。つまり、内部で /index.php をタップして、一連の有効なオプションを事前設定します。ただし、ファイルの数によっては、プリセットのハードコードが最適なオプションになる場合があります。

mod_rewrite のことだと思います。 http://httpd.apache.org/docs/current/rewrite/remapping.html

/.htaccess への追加

<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteCond %{QUERY_STRING} ^page=test$ [NC]
RewriteRule . /test [NC,L,R=301]
</IfModule>

以上ダイナミック

<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteCond %{QUERY_STRING} ^page=(.*)$ [NC]
RewriteRule . /%1/ [NC,L,R=301]
</IfModule>

私の最善の提案は、すべてを内部的に /index.php に送信し、次にいくつかの php 解析/検証を介して、有効なオプションと安全なデフォルトの switch() に送信することです。

<IfModule mod_rewrite.c>
RewriteEngine On
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule . /index.php [L]
</IfModule>
于 2013-07-02T02:47:38.893 に答える
0

これを試してみてください。これでユーザーに表示http://domain.com/thepageされ、サーバーはリクエストを次のように理解しますhttp://domain.com/?page=thepage

<IfModule mod_rewrite.c>
   RewriteEngine On
   RewriteBase /
   RewriteRule ^([^/]*)$ ?page=$1 [NC,L]
</IfModule>
于 2013-07-02T03:17:45.280 に答える