19

Linux サーバーにデプロイされた Web サイトを扱っています。私はそれに対して行う小さな変更があります。フォルダがありますread。要件は、URL を入力するlocalhost:80/tom/Read../READ、フォルダー内/readに移動する必要があることです。read.phpread

ルート ディレクトリの下にファイル .htaccess を作成しました。ここに記載されているページを参照して、ファイルに次のコードの記載を配置しまし た

RewriteEngine On
RewriteBase /tom/

RewriteMap  lc int:tolower
RewriteCond %{REQUEST_URI} [A-Z]
RewriteRule (.*) ${lc:$1} [R=301,L]

RewriteCond %{REQUEST_URI} ^system.*
RewriteRule ^(.*)$ /index.php/$1 [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php/$1 [L]

RewriteRule ![A-Z] - [S=26]
RewriteRule ^(.*)(A)(.*)$ $1a$3 [N,R=301]
RewriteRule ^(.*)(B)(.*)$ $1b$3 [N,R=301]
RewriteRule ^(.*)(C)(.*)$ $1c$3 [N,R=301]
RewriteRule ^(.*)(D)(.*)$ $1d$3 [N,R=301]
RewriteRule ^(.*)(E)(.*)$ $1e$3 [N,R=301]
RewriteRule ^(.*)(F)(.*)$ $1f$3 [N,R=301]
RewriteRule ^(.*)(G)(.*)$ $1g$3 [N,R=301]
RewriteRule ^(.*)(H)(.*)$ $1h$3 [N,R=301]
RewriteRule ^(.*)(I)(.*)$ $1i$3 [N,R=301]
RewriteRule ^(.*)(J)(.*)$ $1j$3 [N,R=301]
RewriteRule ^(.*)(K)(.*)$ $1k$3 [N,R=301]
RewriteRule ^(.*)(L)(.*)$ $1l$3 [N,R=301]
RewriteRule ^(.*)(M)(.*)$ $1m$3 [N,R=301]
RewriteRule ^(.*)(N)(.*)$ $1n$3 [N,R=301]
RewriteRule ^(.*)(O)(.*)$ $1o$3 [N,R=301]
RewriteRule ^(.*)(P)(.*)$ $1p$3 [N,R=301]
RewriteRule ^(.*)(Q)(.*)$ $1q$3 [N,R=301]
RewriteRule ^(.*)(R)(.*)$ $1r$3 [N,R=301]
RewriteRule ^(.*)(S)(.*)$ $1s$3 [N,R=301]
RewriteRule ^(.*)(T)(.*)$ $1t$3 [N,R=301]
RewriteRule ^(.*)(U)(.*)$ $1u$3 [N,R=301]
RewriteRule ^(.*)(V)(.*)$ $1v$3 [N,R=301]
RewriteRule ^(.*)(W)(.*)$ $1w$3 [N,R=301]
RewriteRule ^(.*)(X)(.*)$ $1x$3 [N,R=301]
RewriteRule ^(.*)(Y)(.*)$ $1y$3 [N,R=301]
RewriteRule ^(.*)(Z)(.*)$ $1z$3 [N,R=301]

しかし、それは機能していません。

私はLinux環境が初めてです。mod_speling についてはわかりません。それはファイルですか?Linux サーバーのどこに配置されますか?

4

4 に答える 4

33

標準の apache ディストリビューションの一部であるmod_spelingモジュールを使用して、Apache Web サーバーに大文字と小文字の区別を簡単に無視させることができます。

CheckSpelling On
CheckCaseOnly On

httpd を再起動すると、またはまたはreadとしてアクセスできます。ReadREADread

于 2013-02-11T14:53:11.607 に答える
31

こんにちは私は最終的に解決策を得ました。に以下のコードを配置します/etc/httpd/conf/httpd.conf

LoadModule speling_module modules/mod_speling.so

<IfModule mod_speling.c>
  CheckSpelling On
  CheckCaseOnly On
</IfModule>

次に、httpd を再起動します。

sudo service httpd restart

最後に、有効になっていることを確認します。

sudo httpd -M | grep speling

それが得られるはずですspeling_module (shared)

すべての助けをありがとう..

于 2013-02-12T07:27:12.990 に答える