1

開発環境で URL 書き換えを有効にしようとしています。私は EasyPHP 5.4.6 を使用しています。1 つのサイト (エイリアス) のみに影響する単純な書き換えルール (/about-us/ を about-us.php に書き換える) を作成しようとしています。そのページのルート フォルダーに .htaccess ファイルを配置しました。1. mod_rewrite モジュールは httpd.conf にロードされている 2. phpinfo() は、ロードされたモジュールの中から mod_rewrite をリストする 3. 私のルールは有効である (オンラインでテスト済み) 4. .htaccess はページのルート フォルダに保存されている5. サイトのフォルダーは、構成ファイルでエイリアスとして定義されています。 6. その定義では、AllowOverride が All に設定されています。

RewriteRule が機能せず、404 エラーが発生し続けます。何がこれを引き起こしているのでしょうか?

これは、httpd.conf からのエイリアス定義です。

Alias "/website" "C:/local/website"
<Directory "C:/local/website">
Options FollowSymLinks Indexes
AllowOverride All
Order deny,allow
Allow from 127.0.0.1
Deny from all
Require all granted

そして、これは私の .htaccess です

RewriteEngine On
RewriteBase /
RewriteRule ([a-zA-Z0-9\-]+)/? $1.php
4

2 に答える 2

3

「/website」エイリアスを使用しています。ローカルの .htaccess ファイル (つまり ) で同じ値を使用して RewriteBase を宣言する必要があると思いますRewriteBase /website

于 2013-03-29T19:20:16.063 に答える