-1

からurlを書き換えたい

http://localhost/Ent/Movie/Info.php?year=2011&movie=any_movie

http://localhost/Ent/Movie/Info/2011/any_movie

私は.htaccessで多くのコードを試しました.

Options +FollowSymLinks 
RewriteEngine on

RewriteCond %{REQUEST_FILENAME} !-f
RewriteBase /Ent/Movie/
RewriteRule ^Info/([0-9]+)/([a-zA-Z0-9]+)$ Info.php?year=$1&movie=$2 [L]

ここで、私の .htaccess ファイルは Web サイトのルートにあることに注意してください。

.htaccess の場所が間違っている、.htaccess内のコードですか?

4

2 に答える 2

1

ブラウザをより見栄えの良い URL (クエリ文字列なし) に外部からリダイレクトするには:

RewriteCond %{THE_REQUEST} ^(GET|HEAD|POST)\ /Ent/Movie/Info\.php\?year=([^&]+)&movie=([^&\ ]+)([^\ ]*)
RewriteRule ^ /Ent/Movie/Info/%2/%3?%4 [L,R=301]

次に、内部的に書き直します

RewriteRule ^/?Ent/Movie/Info/([0-9]+)/(.*)$ /Ent/Movie/Info.php?year=$1&movie=$2 [L,QSA]

これらのルールはドキュメント ルートに配置され、次のすぐ下に配置されます。

Options +FollowSymLinks 
RewriteEngine on
于 2012-10-31T23:27:08.193 に答える
0
RewriteRule ^Info/([0-9]+)/([a-zA-Z0-9]+)$ Info.php?year=$1&movie=$2

反対方向の書き換えに一致するため、ロジックを次のように逆にする必要があります。

RewriteRule ^Info.php?year=([0-9]+)&movie=([a-zA-Z0-9]+)$ Info/$1/$2

最初の引数は一致させようとしているもので、2 番目の引数は作成したいパターンです。mod_rewrite チュートリアルを参照してください。

于 2012-10-31T18:09:09.190 に答える