2012-05-08 7 views
0

私は適切なページに私をリダイレクトするRewriteRuleを持っています。mod_rewriteが "URIを変更しました"

正しいリンク:のRewriteRuleの後http://www.mysitelcom/newClients.php

リンク:http://www.mysite.com/samples/article-title-goes-here/23/newClients.phpそれは「前置しているが、問題は、私はリダイレクトされたページ上のリンクにカーソルを合わせると、以下のように、このページのリンクのための私のURLが変更されたということです'次のファイルリクエストは、私のRewriteRuleのパターン部分であるsamples/article-title-goes-here/23 /で検索します。

私の.htaccessファイルは、次のとおりです。

# Use PHP5 Single php.ini as default 
AddHandler application/x-httpd-php5s . 
RewriteEngine on 
RewriteBase/
# Do not do anything for already existing files and folders 
RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_FILENAME} !-d 

RewriteRule ^sample/([a-zA-Z0-9-]+)/([0-9]+)$ sample.php?id=$2 [L] 

誰も私が私が行方不明です何を理解するのに役立つことはできますか?どういうわけか、次の要求されたファイル名を '変更'しないようにURIを 'リセット'する必要があります。ご意見ありがとうございました。私の中でだから私ののsettings.phpに

<?php 
    $path_server = 'htdocs/mysite'; # server path for including files 
    $path_www = 'http://mysite.com'; # path to use in links 
?> 

を定義し

グローバル変数:私として

+1

これはmod_rewriteの問題ではありません。 mod_rewriteが行う唯一のことは、Webサーバーが要求を処理する方法を変更することです。あなたのウェブページを編集することはできません。ページ上のリンクを変更するには、ウェブページ自体を編集する必要があります。ウェブページにURLを生成するコードがある場合は、そのコードを投稿する必要があります。 –

+0

私は明確にする必要があると思う...私のRewriteRuleなしですべての私のリンクは期待どおりに動作します。私のサイトはシンプルなPHPサイトです。上記のようにフレンドリーなURLを表示するようにコードを変更しました。私のRewriteRuleは適切なページに正しくリダイレ​​クトされます。私のrewriteRuleは各リンクを書き換えているようです...私が上に示したようにルートの後に挿入されたフレンドリーなURL部分を持っています。 mod_rewriteがURIパスを変更/記憶している可能性がありますか?私は何らかの方法でリセットする必要があると感じています。フレンドリーなURLをクリックしないと、私はいいと思います。 – Leslie

+0

これも、mod_rewriteの動作ではありません。カーソルを置いたときにページに表示されるリンクには影響しません。ページを生成するPHPコードを調べるべきです - 現在のページのURIを使用してリンクを生成するのはいつですか? –

答えて

0

、私はそれが私のエンジンにリンクやパスのために良い解決策だが、常に正しく、このようなを使用して働くことが見出さテンプレート(これらはsettings.phpと同じスコープにあります)

<?php include "{$path_server}/menu.php"; ?> 
<a href='<?php echo $path_www; ?>/link1.html'>link1</a> 
関連する問題