0

私は codeigniter で URL 短縮サービスの設定に取り組んでいます。すべてがうまく機能しており、現在は以下のような短縮 URL で機能しています。

http://example.com/shorten/i/znAS

私は .htaccess アクセスの完全な初心者であり、これを行う方法がわかりません。ここでこの例に従っています。http://briancray.com/posts/free-php-url-shortener-script/

使用する

<IfModule mod_rewrite.c>
RewriteEngine On
RewriteRule ^shorten/(.*)$ shorten.php?longurl=$1 [L]
RewriteRule ^([0-9a-zA-Z]{1,6})$ redirect.php?url=$1 [L]
</IfModule>

上記は、コードイグナイターベースであるため、私の場合はあまり関係ありません。わかりましたので、短くするのは私のコントローラーで、私は i という名前の関数を持っています。

私はさまざまな組み合わせを試しましたが、何もうまくいきませんでしたが、以下は私の.htaccessです。

Options         +FollowSymLinks
Options         -Indexes 
DirectoryIndex  index.php
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^shorten/(.*)$ shorten/i/=$1 [L]
#RewriteRule ^(.*)$ index.php/$1 [L]
RewriteRule ^(.*)$ index.php?/$1 [L]  

<Files "index.php">
AcceptPathInfo On
</Files> 

現在、ウェブサイトを壊しているのは、ただ見ているだけで、moをグーグルで検索しているだけですが、ここにも投稿を追加すると思いました。

4

1 に答える 1

0

CI (またはそのためのフレームワーク) では、本当に必要.htaccessでない限り、ファイルに触れないことが最善です。ディレクトリ内のファイルの操作に関するドキュメントをご覧ください。routes.phpapplication/config

配列で次のルート設定を試してください。

'shorten/(.+)' => 'shorten/i/$1'

これに問題がある場合はお知らせください。

于 2012-10-01T10:38:08.670 に答える