1

こんにちは私は以前にStackOverflowに質問を投稿しましたが、幸運にも最初の質問に対する支援を受けて、私が達成しようとしていることが可能であるということをよりよく理解するのに役立ちました。

前の質問はここにあります:phpurl短縮にアクセスしてください

私はユーザーが他のウェブサイトで自分のプロフィールを共有できるシステムを構築しているので、自分のプロフィールへのリンクを提供する実際のURLを短くすることは可能でしょうか?www.somedomain.com/users/profile .php?user = myusernameを使用すると、ユーザーフォルダとプロファイルページが切り取られ、次のようになります。www.somedomain.com/myusername

私が持っているコードは次のとおりです。

RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule  /(.*) /users/profile.php?user=$1

悲しいことに、2つのことが起こります。まず、コードが機能しません。次に、このコードを追加すると、元の長いドメインのcssが機能しなくなります。

任意の提案をいただければ幸いです

4

2 に答える 2

0

これはserverfaultの質問です。

  1. あなたのランニングアパッチですか?
  2. Apache mod_rewriteモジュールは有効になっていますか?

    debian:a2enmod rewrite; /etc/init.d/apache2 restart

  3. このディレクトリのオーバーライドが有効になっていますか?デフォルトの仮想ホストを使用する場合:

    <Directory /var/www/>
            #AllowOverride None
            AllowOverride FileInfo
    </Directory>
    
  4. error.logを表示しているのは何ですか?テール/var/log/apache2/error.log

  5. 簡単なバージョンを試してください:

コード:

RewriteEngine On
RewriteBase /
RewriteRule  ^profile.php profile.php [QSA,L]
RewriteRule  ^(.*)$ profile.php?user=$1 [QSA,L]
于 2012-05-20T14:33:16.087 に答える
0

code doesn't work:もちろん、それは間違っているのでそうはなりません。適切にテストせずに、どのようにして他の質問を受け入れることになったのか、本当に疑問に思っています。とにかくこのコードを取り、既存の.htaccessコードを置き換えます。

RewriteEngine On
RewriteBase /
RewriteRule ^index\.php/?$ - [NC,L]

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-l
RewriteRule  ^(.*)$ users/profile.php?user=$1 [L,QSA,NC]
于 2012-05-20T17:26:45.560 に答える