3

ここ数時間、LAMP マシンにクリーンな URL を書き込もうとしてきました。

Apache の mod_rewrite が有効になっており、.htaccess ファイルを使用して URL GET パラメータを index.php スクリプトに渡そうとしていますが、これは当時は _GET の var_dump にすぎません。

私の現在の.htaccessは次のとおりです(ただし、他の回答で見つけたかなりの数のバリエーションを試しましたが、成功しませんでした)

RewriteEngine On

#Make sure it's not an actual file
RewriteCond %{REQUEST_FILENAME} !-f

#Make sure its not a directory
RewriteCond %{REQUEST_FILENAME} !-d 

#Rewrite the request to index.php
RewriteRule ^(.*)$ index.php?/get=$1 [L]

ブラウザで localhost/my_project/test を指定すると、次のような 404 エラーが表示されます。

見つかりません

要求された URL /my_project/test がこのサーバーで見つかりませんでした。

localhost ポート 80 の Apache/2.2.22 (Ubuntu) サーバー

どうやらここで明らかな何かが欠けているようです。

4

1 に答える 1

3

探すべき2つのこと:

  1. .htaccess が有効になっていることを確認してください
  2. 上記のコードがmy_projectディレクトリにあることを確認してください。

RewriteBase次に、次の行も追加します。

RewriteEngine On
RewriteBase /my_project/

#Make sure it's not an actual file
RewriteCond %{REQUEST_FILENAME} !-f
#Make sure its not a directory
RewriteCond %{REQUEST_FILENAME} !-d 
#Rewrite the request to index.php
RewriteRule ^(.*)$ index.php?get=$1 [L]
于 2013-10-06T17:43:50.543 に答える