0

ページがスラッグ (例: mysqite.com/slug) でリンクされている php Web サイトを作成しています。

home」、「about-us」、「contact」、「my-result」などのスラッグでは問題なく動作しますが、「result」、「about」などのスラッグでは 404 (not found) エラーが表示されます。この問題を解決するにはどうすればよいですか?

Options +FollowSymLinks

<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /institution/http/
RewriteRule departments(|[a-zA-Z0-9_\-/]+)$ department.php?page=$1
RewriteRule stream/(|[a-zA-Z0-9_\-/]+)$ post.php?page=$1
RewriteRule faculty/([a-zA-Z0-9_\-/]+)$ new_post.php?page=$1
RewriteRule ^([a-zA-Z0-9\-\/]+)$ index.php?page=$1

RewriteCond %{DOCUMENT_ROOT}%{REQUEST_URI}.php -f
RewriteRule .* $0.php [L]
</IfModule>
4

2 に答える 2

0

同じディレクトリにabout.phpresult.phpファイルが既に存在している可能性があります。スラッグはファイル名と一致します。もしそうなら、試してみてください:

最初の行を次のように編集します。

Options +FollowSymLinks -MultiViews

次の行を削除します。

RewriteRule .* $0.php [L]
于 2013-09-19T10:28:31.467 に答える
0

CMS でこれを修正して、正しいスラッグにリダイレクトするか、「結果」と「概要」のページを作成します。それ以外の場合は、htaccess ファイルでこれを行うことができます。

これをすぐ下に追加しますRewriteEngine On

RewriteRule ^about$ /about-us [L,R=301]
RewriteRule ^result$ /my-result [L,R=301]
于 2013-09-13T15:02:46.053 に答える