1

フォルダ「/mixtapes/」に.htaccess ファイルがあります。mydomain.com/music/downloads/mixtapes/this-title/id実行するURL を取得しようとしています。mydomain.com/music/downloads/mixtapes/item.php?title=variable1&id=variable2

現在、以下の方法である程度機能していますが、IDのみを使用しており、「/」で区切られた両方の変数(../mixtapes/title/id)が必要であり、何らかの理由で以下のコードで「/ mixtapes /」内のインデックスページ"うまくいきません。困惑しています! 私はこれにやや慣れていないので、どんな助けも大歓迎です!

ところで、私のインデックスページでは、ページに渡すURLitem.phpが書き換えられていますが、フォーマットで<a href="title/id">適切に実行できないようですitem.php?title=a&id=bmixtapes/title/id

「/mixtapes/」にある現在の htaccess ファイル

# turn mod_rewrite engine on 
RewriteEngine On

# rewrite all physical existing file or folder
RewriteCond %{REQUEST_FILENAME} !-f [OR]
RewriteCond %{REQUEST_FILENAME} !-d

# allow things that are certainly necessary
RewriteCond %{REQUEST_URI} "/css/" [OR]
RewriteCond %{REQUEST_URI} "/images/" [OR]
RewriteCond %{REQUEST_URI} "/images/" [OR]
RewriteCond %{REQUEST_URI} "/javascript/"

# rewrite rules
RewriteRule ^mixtapes/item.php(.*) - [L]
RewriteRule ^(.*) item.php?id=$1 [QSA]
4

1 に答える 1

0

.htaccessのコメントは実際には間違っていると述べています

# turn mod_rewrite engine on 
RewriteEngine On

# if requested URL is NOT a existing file  
RewriteCond %{REQUEST_FILENAME} !-f [OR]
# or if requested URL is NOT a directory
RewriteCond %{REQUEST_FILENAME} !-d

# CSS, images, JavaScript are files and we will never pass this point when those are requested, next rules can be skipped

# rewrite rules
# rewrite /mixtapes/title/id to item.php?title=title&id=id
Rewrite ^mixtapes/([^/]+)/([0-9]+)  item.php?title=$1&id=$2   [L]

# catch all other requests and handle them ( optional, default would be 404 if not a physically existing file )
Rewrite (.*) index.php  [L,QSA]

あなたのIDは数値だと思います。phpでのタイトルの使用に注意してください。これを直接出力しないでください。ただし、これを使用してURLを確認し、間違ったタイトル/IDコンボをリダイレクトできます。

于 2012-11-11T22:08:08.460 に答える