Apache mod_rewrite モジュールを使用して、ディレクトリ /docs 内のすべての URI を /docs/index.php に書き換えようとしています。
URI はディレクトリ構造として存在しません。これは、URI を終了するものに書き換える場合には必要ないと思います。
エラーが発生しています:
「要求された URL /docs/view/my_doc は、このサーバーで見つかりませんでした。」
これらは私の書き換えルールです:
RewriteEngine On
RewriteCond %{REQUEST_URI} ^docs/([a-z]+)/([A-Za-z0-9_-]+)/?$
RewriteRule ^(.*)$ http://%{HTTP_HOST}/docs/index.php?action=$1&target=$2 [QSA,L]
httpd.confで構成を行っています。また、マルチ v-host セットアップを使用しています。
私の問題は何ですか?どうすれば解決できますか?
CentOS 6.2 で Apache/httpd を使用しています
アップデート
私のVirtualHostも含めます:
NameVirtualHost *:80
<VirtualHost *:80>
ServerName www.smicloud.org
ServerAlias *.smicloud.org
VirtualDocumentRoot /var/www/html/www.smicloud.org
ExpiresActive On
ExpiresDefault "access plus 14 days"
# insert logging config, anything else you need..
#Define FileEtag so it doesnt use node
FileETag MTime Size
<Directory /var/www/html/>
Order Allow,Deny
Allow from all
# Get rid of this if you need to allow htaccess files:
AllowOverride None
</Directory>
RewriteEngine On
RewriteRule ^docs/([a-z]+)/([A-Za-z0-9_-]+)/$ /docs/index.php?action=$1&target=$2 [QSA,L]
</VirtualHost>