1

こんにちは、私がやろうとしていることは次のとおりです。誰かが site.com/myusername にアクセスすると、site.com/index.php?a=profile&u=myusername に送信されます

htaccess 書き換えエンジンを知っていれば、かなり簡単なはずです。また、同様の初心者向けの優れたチュートリアルはありますか?

ここに私の現在の.htaccessがあります:

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

RewriteCond %{request_filename} -f [OR]
RewriteCond %{request_filename} -d
RewriteRule ^ - [L]

RewriteRule ^(([^/]*)+)(/([^/]{0,32})(/.+)?)?$ /index.php?a=$1&q=$3 [L,QSA]

RewriteRule ^(.+?)/?$ /index.php?a=profile&u=$1 [L,QSA]
4

3 に答える 3

2

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

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

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.+?)/?$ /index.php?a=profile&u=$1 [L,QSA]
于 2013-07-16T07:42:57.503 に答える
1

URLが指定されている場合、次のようなことができます

if (!isset($_REQUEST['u'])) {

$x = $_SERVER['REQUEST_URI'];
$y = str_replace('?', '', $x);
$z = str_replace('/', '', $y);
header("Location: ?a=profile&u=$z"); }

本当に良い解決策ではありませんが、これは私が考えることができるものでした..phpでやりたい場合..

于 2013-07-16T08:25:13.253 に答える
0

私はあなたがすでに答えを得ていることを知っています。しかし、私は1時間前にそれを考え出しました。しかし、私のシステムの問題なので、後で投稿しています。これも一つの方法です。

Options +FollowSymlinks
RewriteEngine On
RewriteBase /  
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^([a-zA-Z0-9_-]+)$ /index.php?a=profile&q=$1
于 2013-07-16T09:23:29.730 に答える