0

素敵なURLを作成するためのURL書き換え設定があります

RewriteCond %{REQUEST_URI} !^\/*(index\.php|blog|admin\/assets|site\/assets|robots.txt|sitemap.xml|products.xml|favicon\.ico)
RewriteRule ^(.*)$ /index.php?rq=$1 [L,QSA]

「admin」という名前のルートレベルのディレクトリがあるため、URLを使用して管理領域にアクセスすると、次のように/admin書き換えられます。/admin/?rq=adminおそらく非常に簡単ですが、URLが次のようにきれいに書き込まれるように.htaccessルールを編集(または追加)するにはどうすればよいですか?/admin/

更新:明確にするために、/ admin / /index.php?rq=adminindex.phpを呼び出すのではなく、を使用して/adminにアクセスしたい

これが私のapache仮想ホスト設定です:

<VirtualHost *:80>
        ServerAdmin alex
        ServerName hub
        ServerAlias hub
        DocumentRoot /var/www/hub/
        <Directory />
                Options FollowSymLinks
                AllowOverride All
        </Directory>
        <Directory /var/www/hub>
                Options Indexes FollowSymLinks MultiViews
                AllowOverride All
                Order allow,deny
                allow from all
        </Directory>

        ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/
        <Directory "/usr/lib/cgi-bin">
                AllowOverride None
                Options +ExecCGI -MultiViews +SymLinksIfOwnerMatch
                Order allow,deny
                Allow from all
        </Directory>

        ErrorLog ${APACHE_LOG_DIR}/error.log

        # Possible values include: debug, info, notice, warn, error, crit,
        # alert, emerg.
        LogLevel warn

        CustomLog ${APACHE_LOG_DIR}/access.log combined

    Alias /doc/ "/usr/share/doc/"
    <Directory "/usr/share/doc/">
        Options Indexes MultiViews FollowSymLinks
        AllowOverride None
        Order deny,allow
        Deny from all
        Allow from 127.0.0.0/255.0.0.0 ::1/128
    </Directory>

</VirtualHost>
4

2 に答える 2

2

adminフォルダーを の例外のリストに追加するだけRewriteCondです。これで例外ができたので、次のadmin/assetsように、その部分を削除してフォルダーassets全体の例外を残すことができます。admin

RewriteEngine On
RewriteCond %{REQUEST_URI} !^\/*(index\.php|blog|admin|site\/assets|robots.txt|sitemap.xml|products.xml|favicon\.ico)
RewriteRule ^(.*)$ /index.php?rq=$1 [L,QSA]
于 2012-11-21T10:52:15.467 に答える
1

DirectorySlash Off私の .htaccessに追加されたようです。これが正しい回避策かどうかはわかりませんが、私の問題は解決しました。キャッシュされたリダイレクトを防ぐために、キャッシュを完全にクリアする必要がありました (Thanks Kamil)

Chrome の場合:Chrome-> Tools -> Clear Browsing Data -> Empty the Cache

于 2012-11-21T15:46:39.423 に答える