5

私は .htaccess と rewrite 関数の初心者です。多くのページを検索しましたが、解決策が見つかりませんでした。これが私の問題です:

kurum.php ファイルに次の形式の URL があります。

fxrehber.com/kurum.php?id=$krmID&sef=$sef

私の通常のURLは次のとおりです。

http://fxrehber.com/kurum.php?id=7&sef=ata-foreks

私の .htaccess の関連部分は次のとおりです。

<IfModule mod_rewrite.c>
  Options +FollowSymlinks
  RewriteEngine On
  RewriteRule ^([0-9]+)-([a-zA-Z0-9-_]+)$ /kurum.php?id=$1&sef=$2
</IfModule>

したがって、次の形式で SEF URL を取得できます。

http://fxrehber.com/7-ata-foreks

2 つの質問があります。

1. kurum.php ファイルを新しいディレクトリに移動せずに、この URL を .htaccess でこの形式に変更できますか?

http://fxrehber.com/kurumlar/7-ata-foreks

(.htaccess で「/kurumlar」ディレクトリを追加できますが、css と画像のリンクが機能しません)

2. 次のように、SEF url で言及せずに id 値を渡すことはできますか?

http://fxrehber.com/kurumlar/ata-foreks (これは私にとって最良の選択肢です)

これができない場合、$sef 変数だけを使用してデータベースから記事を選択する必要がありますか? これについてデメリットはありますか?

これが私の問題についての十分な説明であることを願っています。ありがとうございました。

4

1 に答える 1

2

1. kurum.php ファイルを新しいディレクトリに移動せずに、この URL を .htaccess でこの形式に変更できますか?

http://fxrehber.com/kurumlar/7-ata-foreks

(.htaccess で「/kurumlar」ディレクトリを追加できますが、css と画像のリンクが機能しません)


PHPファイル内の画像のフルパスを使用しましたが、これで動作します:.htaccess:

<IfModule mod_rewrite.c>
  Options +FollowSymlinks
  RewriteEngine On
  RewriteRule ^kurumlar\/([0-9]+)-([a-zA-Z0-9-_]+)$ /kurum.php?id=$1&sef=$2
</IfModule>

kurum.php:

<?php
    var_dump($_REQUEST);
?>
<img src="/sites/default/files/1.png">

2. 次のように、SEF url で言及せずに id 値を渡すことはできますか?

http://fxrehber.com/kurumlar/ata-foreks(これは私にとって最良の選択肢です)


ata-foreks記事の一意のエイリアスとして使用でき、id の代わりに使用できる場合のみ。

「これってデメリットあるの?」

はい。文字列による検索は、整数による検索よりも遅くなります。

于 2012-11-14T13:04:33.743 に答える