0

最近、Web サイトの PHP スクリプトを購入しました。フロント ページで、ログイン、サインアップ、またはその他のリンクをクリックするたびに、404 エラー (ページが見つかりません) が表示されます

リンクのタイプはhttp://domain.com/loginhttp://domain.com/registerなどですが、ファイル マネージャを確認すると、login や register などのフォルダは見つかりませんでした。代わりに、などのファイルがありlogin.phpますregister.php。したがって、リンクの名前をhttp://domain.com/login.phpまたは/register.phpなどに変更すると、機能します!

すべてのファイルのリンクを編集する以外に、この問題を解決する方法はありますか? ファイルを変更することで何かができるかもしれません.htaccess

PS: 私は cpanel を使用しています。

ファイルを確認した.htaccessところ、これが見つかりました (そこで編集する必要があるものはありますか?):

options -multiviews
<IfModule mod_rewrite.c>
RewriteEngine On 
RewriteBase /
RewriteRule ^users$ users.php
RewriteRule ^login$ login.php
RewriteRule ^logout$ logout.php
RewriteRule ^conversations/([^/.]*)?$ conversations.php?u=$1&%{QUERY_STRING}
</IfModule>
<IfModule mod_security.c> 
# Turn off mod_security filtering. 
SecFilterEngine Off 
# The below probably isn't needed, 
# but better safe than sorry. 
SecFilterScanPOST Off 
</IfModule>
4

2 に答える 2

1

ファイルを使用し.htaccessて URL を書き換え、.php 拡張子を削除し、トラフィックを正しいスクリプトにリダイレクトする必要があります。

詳細については、Stack Overflow の質問への回答を参照ください。

于 2013-02-04T13:28:13.510 に答える
1

mod_rewrite と .htaccess を有効にしてからhttpd.conf、このコードをディレクトリの.htaccess下に配置します。DOCUMENT_ROOT

Options +FollowSymLinks -MultiViews
# Turn mod_rewrite on
RewriteEngine On
RewriteBase /

## Internally forward /dir/foo to /dir/foo.php
RewriteCond %{DOCUMENT_ROOT}/$1.php -f
RewriteRule ^(.*?)/?$ $1.php [L]
于 2013-02-04T15:05:59.560 に答える